1
bluebirdconcurreny
に問題があります。基本的に私は、私の約束が次々と解雇されることを望む。私はこれがbluebird
を使って行うことができることを発見しました。これは私のコードです:私は尊敬何javascript - ブルーバードが約束を正しく開始していない
var getdep = Promise.promisify(
function getdep(module, cb) {
console.log(module + " ...start ...")
ls(module, function(data) {
cb(null, data);
});
});
Promise.all([0,1,2,3,].map(function(data){
return getdep("[email protected]");
}, {concurrency: 1}))
.then(function(all){
console.log(all);
})
.catch(function(err){
console.log(err);
});
は({concurrency: 1}
)のようなものです。
[email protected] ...start ...
loading: [email protected]@latest
loading: [email protected]@latest
loading: [email protected]@latest
loading: [email protected]@latest
....
[email protected] ...start ...
loading: [email protected]@latest
loading: [email protected]@latest
loading: [email protected]@latest
loading: [email protected]@latest
... ので
しかし、私が午前の
です:bluebird
を意味
[email protected] ...start ...
[email protected] ...start ...
[email protected] ...start ...
[email protected] ...start ...
loading: [email protected]@latest
が同時にすべての私の約束を開始しています。 私のコードで何が間違っているのか教えていただけますか?おかげ
あなたはタイプミスがありますが、 'Promise.all'の代わりに' Concurrency'を 'Array.map'に設定します。と約束チェーンの各ステップで何かを返す方が良い – stasovlas