now returning correct Promise types
This commit is contained in:
@ -1,6 +1,9 @@
|
||||
import plugins = require("./taskbuffer.plugins");
|
||||
import { Task, ITaskFunction } from "./taskbuffer.classes.task";
|
||||
|
||||
import {Promise} from "q";
|
||||
export {Promise} from "q";
|
||||
|
||||
export let emptyTaskFunction: ITaskFunction = function (x) {
|
||||
let done = plugins.Q.defer();
|
||||
done.resolve();
|
||||
@ -100,12 +103,12 @@ export class CycleCounter {
|
||||
this.cycleObjectArray.push(cycleObject);
|
||||
return done.promise;
|
||||
};
|
||||
informOfCycle(){
|
||||
informOfCycle(x){
|
||||
let newCycleObjectArray:cycleObject[] = [];
|
||||
this.cycleObjectArray.forEach(cycleObjectArg => {
|
||||
cycleObjectArg.cycleCounter--;
|
||||
if(cycleObjectArg.cycleCounter <= 0){
|
||||
cycleObjectArg.deferred.resolve();
|
||||
cycleObjectArg.deferred.resolve(x);
|
||||
} else {
|
||||
newCycleObjectArray.push(cycleObjectArg);
|
||||
};
|
||||
@ -131,7 +134,7 @@ export class BufferRunner {
|
||||
runTask(this.task,{x:x})
|
||||
.then((x) => {
|
||||
this.bufferCounter--;
|
||||
this.task.cycleCounter.informOfCycle();
|
||||
this.task.cycleCounter.informOfCycle(x);
|
||||
recursiveBufferRunner(x);
|
||||
});
|
||||
} else {
|
||||
@ -144,11 +147,11 @@ export class BufferRunner {
|
||||
setBufferMax(bufferMaxArg:number){
|
||||
this.bufferMax = bufferMaxArg;
|
||||
};
|
||||
trigger(x): PromiseLike<any> {
|
||||
trigger(x): Promise<any> {
|
||||
if(!(this.bufferCounter >= this.bufferMax)){
|
||||
this.bufferCounter++
|
||||
};
|
||||
let returnPromise:PromiseLike<any> = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter + 1);
|
||||
let returnPromise:Promise<any> = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter + 1);
|
||||
if(!this.running){
|
||||
this._run(x);
|
||||
}
|
||||
|
@ -1,6 +1,9 @@
|
||||
import * as plugins from "./taskbuffer.plugins"
|
||||
import * as helpers from "./taskbuffer.classes.helpers"
|
||||
|
||||
//interfaces
|
||||
import {Promise} from "q";
|
||||
export {Promise} from "q";
|
||||
|
||||
export interface ITaskFunction {
|
||||
(x?:any):PromiseLike<any>;
|
||||
@ -41,7 +44,7 @@ export class Task {
|
||||
/**
|
||||
* trigger the task. Will trigger buffered if this.buffered is true
|
||||
*/
|
||||
trigger(x?):PromiseLike<any> {
|
||||
trigger(x?):Promise<any> {
|
||||
if(this.buffered) {
|
||||
return this.triggerBuffered(x)
|
||||
}
|
||||
@ -53,14 +56,14 @@ export class Task {
|
||||
/**
|
||||
* trigger task unbuffered.
|
||||
*/
|
||||
triggerUnBuffered(x?):PromiseLike<any>{
|
||||
triggerUnBuffered(x?):Promise<any>{
|
||||
return helpers.runTask(this,{x:x});
|
||||
}
|
||||
|
||||
/**
|
||||
* trigger task buffered.
|
||||
*/
|
||||
triggerBuffered(x?):PromiseLike<any>{
|
||||
triggerBuffered(x?):Promise<any>{
|
||||
return this.bufferRunner.trigger(x);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user