我有一个需要处理的promise队列(代表msg)。我正在使用angularJS。
就本例而言,假设我有connect()
一个为连接返回一个promise,然后msgQueue
是一个JavaScript
promise数组,每个promise表示一个味精。
我将从这样做开始:
connect().then(function(){
return msgQueue.dequeue();
});
// Async Loop on all msgs... How?
我有点像Defer / Promise新手,所以请多多包涵。
谢谢!
function serializeAsynch(queue,operate) {
var msg = queue.dequeue();
if (msg) msg.then(function(data) { operate(data); serializeAsynch(queue); });
}
connect().then(function() { serializeAsynch(msgQueue,process); });
我认为这行得通。我们正在等待connect
解决,然后传递msgQueue
。我们在中获得第一条消息,queue
并将其解析程序设置为处理数据,然后递归到队列中。当队列中没有任何内容时,递归将退出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句