我用下面的代码async.js使用诺系列,而不是异步系列
var arr = ['1', '2'];
async.mapSeries(arr, getInfo, (e, res) => {
console.log(res);
});
function getInfo(name, callback) {
setTimeout(() => {
callback(null, name + ' from async');
}, 500);
}
现在我想将其转换为蓝鸟promise和我尝试以下方法却迟迟不工作,我觉得可能是我需要和Promise.delay但不知道如何使用它...
Promise.mapSeries(arr, function(getInfo) {
return getInfo + ' from promise'
}).then(function(results) {
console.log(results)
});
'Promise.mapSeries'从哪里来? Async.js没有Promise类,因为它依赖于没有'mapSeries'的ES6 Promise。 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise – martin
http://bluebirdjs.com/docs/api/promise.mapseries.html – mplungjan
要使用Bluebird的'Promise.mapSeries( )',你必须改变'getInfo()'返回一个承诺。 – jfriend00