我有一个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
*/
}
3条答案
按热度按时间htrmnn0y1#
这只是个链接-
正在创建队列:
添加要在队列上运行的函数:
在你的例子中:
c9qzyr3d2#
您可能想尝试以下方法:
lastPromise
遵守了链接的最后承诺这确保了每个render()
都将在前一个完成后运行。内部promise
是“私有”承诺的概念。如果在解析时,私有承诺与上一个承诺相同,则将其清除。警告:未经测试!rvpgvaaj3#
人们搜索vanila javascript解决方案的queing函数和运行可以这样做