var p3 = new Promise( function(resolve,reject){
resolve( "B" );
} );
var p1 = new Promise( function(resolve,reject){
resolve( p3 );
} );
var p2 = new Promise( function(resolve,reject){
resolve( "A" );
} );
p1.then( function(v){
console.log( v );
} );
p2.then( function(v){
console.log( v );
} );
//在chrome中打印A,B
//在node 9.0中打印B,A
复制代码
复习Promise,看到以上内容,瞬间爆炸,试图理解,查询诸多资料后得出结论,Promise中解析其他Promise的操作,不属于规范内容,是由宿主环境自行实现。【手动滑稽】
分割线
发现了更详细的解释,豁然开朗,具体参考知乎-为什么下面这段 Promise 代码在不同浏览器表现不一致?