我正在努力建立"事件"队列类似于:https://stackoverflow.com/a/24932757/6385482
但不使用任何库(例如jQuery,Bluebird,Q)
实施例: 我有一个数组
var event = [func1, func2, func3];
...我希望实现名为'每个' itaretes' event'并按顺序调用异步函数。
抱歉我的英文。
感谢您的帮助。
答案 0 :(得分:0)
感谢您的回复。 函数已经是异步的,我需要在func1完成后调用func2(它们不能重叠)... 我使用Bluebird编写了这个函数,这是一个例子:
var Bluebird = Promise.noConflict();
var items = [
function () {
return new Bluebird(function (resolve, reject) {
console.log("promise1 pending");
setTimeout(function () {
console.log("promise1 fulfilled");
resolve();
}, 1000)
})
},
function () {
return new Bluebird(function (resolve, reject) {
console.log("promise2 pending");
setTimeout(function () {
console.log("promise2 fulfilled");
resolve();
}, 500)
})
},
];
Bluebird.each(items, function (item, i) {
return item();
});
这正是我所需要的,首先调用" promise1等待"然后" promise1履行",然后" promise2等待"并且" promise2履行了#34; ...
我尝试用原生Prosmises编写这个函数,但我无法弄清楚如何。
感谢您的帮助