我有 render(value)
函数,我使用不同的参数多次调用该函数。我需要链接对此函数的调用,以便它仅在前一个调用完成后才开始执行。
我需要链接的函数返回一个 promise :
function render(value){
var deferred = $q.defer();
/* Some logic here */
return deferred.promise;
}
我应该在这里放置什么?
function onClick(value){
/*
Add render(value) to the queue. And start execution if queue is empty
*/
}
最佳答案
这只是然后
链接 -
创建队列:
var queue = $q.when();
添加要在队列上运行的函数:
queue = queue.then(function(){ // need to reassign since promises are immutable.
console.log("Added!");
});
因此,在您的示例中:
function onClick(value){
queue = queue.then(function(){ return render(value); });
}
关于javascript - 如何动态添加函数到队列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30670196/