6
當我鏈接多個承諾時,我期望每個承諾只會在前一個承諾結束後執行。不知怎的,它沒有發生。我敢肯定,使用錯誤的承諾,併爲一些解釋很想......nodeJS中的承諾/承諾/執行順序中的回調不正確
我有這樣的代碼:
var Promise = require('bluebird');
func('A')
.then(() => {func('B')})
.then(() => {func('C')})
.then(() => {func('D')})
function func(arg) {
return new Promise(function(resolve){
console.log('>> ' + arg);
setTimeout(function(){
console.log(' << ' + arg);
resolve();
}, 200)
})
}
我期待得到如下的輸出:
>> A
<< A
>> B
<< B
>> C
<< C
>> D
<< D
但是相反我得到這個輸出:
>> A
<< A
>> B
>> C
>> D
<< B
<< C
<< D
我得到什麼錯誤?
感謝了很多人! –