2016-11-03 5 views
2

私はBluebird docsでコーディネートしており、Promise.allを超えてPromise.joinを使用することをお勧めします。Promise.join Promise.allとのパフォーマンスの違いは何ですか?

ドキュメントは

Promise.joinはあなたが同時に調整したい個別の約束の一定量を持っているときに使用する方がはるかに簡単(そしてよりパフォーマンス)であると言います。

ただし、パフォーマンスコメントについての説明はありません。

唯一の違いは、.allは、アレイを開梱する余分な操作を行うことです。それは "もっとパフォーマンスが良い"と呼ぶほどのストレッチみたいですね。

何か説明は役に立ちました、ありがとう!

答えて

0

パフォーマンスに大きな影響はありませんでした。このベンチマークのためにここにフィドルをチェックアウト:

https://jsfiddle.net/msmta/3936tnca/

// spread 

function startSpreadTest() { 
    var startTime = new Date() 
    var spreadArray = [] 
    for(var i = 0; i < promiseCount; i++) 
    spreadArray.push(Promise.delay(promiseDelay)) 
    return Promise.all(spreadArray).spread(function(){ 
    return getStopTime(startTime) 
    }) 
} 

// join 

function startJoinTest() { 
    var startTime = new Date() 
    var args = [] 
    for(var i = 0; i < promiseCount; i++) 
    args.push(Promise.delay(promiseDelay)) 
    args.push(function(){ 
    return getStopTime(startTime) 
    }) 
    return Promise.join.apply(null, args) 
} 
関連する問題