2016-01-03 18 views
1

我建立這樣的承諾鏈:的Javascript如何星無極鏈執行手動

var chain = Promise.resolve(); // execution starts immediately 

for (var i = 0; i < 100; i++) { 
    var promise = new Promise(...) // build another one 
    chain = chain.then(promise); 
} 

我想開始執行後,手動,它已經完全建立起來(如立即反對,因爲它發生的呼籲Promise.resolve())這樣做的技術是什麼?

回答

3

承諾僅僅是價值的代理。你不會「執行承諾」,就像你沒有「運行一個數字」一樣。你跑什麼,是一個功能:

function doTheThing() { 
    var chain = Promise.resolve(); // execution starts immediately 

    for (var i = 0; i < 100; i++) { 
     var promise = new Promise(...) // build another one 
     chain = chain.then(promise); 
    } 
} 

而且隨着doTheThing();開始。

+0

現貨,歡呼正是我需要的。 – user1514042