Kiedy łączę wiele obietnic, oczekuję, że każda obietnica będzie wykonana dopiero po zakończeniu poprzedniej. Jakoś tak się nie stało. Jestem pewien, używając obietnic źle, i chciałbym jakiegoś wyjaśnienia ...Obietnice w węźleJS/zwrot w ramach obietnicy/kolejności wykonania jest nieprawidłowy
mam ten kod:
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)
})
}
Spodziewałem się uzyskać ten wynik:
>> A
<< A
>> B
<< B
>> C
<< C
>> D
<< D
ale zamiast Otrzymuję tę wydajność:
>> A
<< A
>> B
>> C
>> D
<< B
<< C
<< D
Co ja się mylę?
Dzięki wielkie człowiek! –