var p3 = new Promise( (resolve, reject) => {
resolve('B')
})
var p1 = new Promise( (resolve, reject) => {
resolve(p3)
})
p2 = new Promise( (resolve, reject) => {
resolve('A')
})
p1.then(v => console.log(v))
p2.then(v => console.log(v))
##node 與 瀏覽器運作不一致。正常的理解 p1 內部 resolve 了一個 promise 不是同步的 所以明顯要p2晚一點。
不管是輸出 A B,還是輸出 B A,都是對的。這就是異步。我們的所有操作都不能依賴前置操作的返回順序。