Я пытаюсь заставить этот код выполнять console.logs по порядку (test1, test2, test3). Теперь это тест1, тест3, тест2. Я ожидал, что второй then() будет ждать функцию resolve() перед запуском, но это не работает :)
var bluebird = require('bluebird');
var promise = bluebird.resolve(true);
promise.then(function() {
return new bluebird(function(resolve, reject) {
console.log("test1");
setTimeout(function() {
console.log("test2");
resolve();
}, 3000);
});
});
promise.then(function() {
console.log("test3");
});
promise.then(…).then(…)
- не вызывайте второйthen()
для самогоpromise
снова, а скорее для возвращаемого значения первого. - person Bergi   schedule 13.11.2015