Если я выполнил следующий код с Node.js
var Promise = require('bluebird');
Promise.join(
function A() { console.log("A"); },
function B() { console.log("B"); }
).done(
function done() { console.log("done");}
);
Консоль будет записывать
B
done
Однако я ожидал бы
A
B
done
или
B
A
done
Если установить точку прерывания в функции A, она никогда не будет достигнута. Почему он обрабатывает B, но не A?