varp2=newPromise(resolve=>{setTimeout(()=>{resolve()},2000)})varp1=newPromise(resolve=>{resolve(p2)})p1.then(data=>{console.log('p1')})p2.then(data=>{console.log('p2')console.log('p1status',p1)//这里在浏览器输出的是pending状态Promise.resolve().then(()=>{console.log('here')//然后这里会优先于p1.then()输出})})因为p1的状态是根据p2的状态来决定的嘛,然后啊,我在p2.then()里面调用Promise.resolve().then()都会比p1.then()优先输出。为什么呀?我猜是在下一个事件循环的时候才会去修改p1的状态?有大佬指点一下吗,万分感激~
繁花如伊
慕田峪4524236
随时随地看视频慕课网APP
相关分类