亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Promise中, 不管resolve在哪個位置, 都是最后才執行嗎?

在Promise中, 不管resolve在哪個位置, 都是最后才執行嗎?

九州編程 2019-03-20 22:19:36
在Promise中, 不管resolve在哪個位置, 都是最后才執行嗎? 誰能講講里面的運行機制,或者分享個鏈接... 感謝! 代碼如下:actions.getForbiddenFuncList = function(context){  return new Promise((resolve, reject) => {    serverUtils.getData(serverUtils.GETFORBIDDENFUNCLIST,null,(resData)=>{      if(resData.success){        resolve();        console.log('1')        context.commit('SETFORBIDEENFUNCLIST', resData)        console.log('2')        console.log('3')      }    });  })}mutations.SETFORBIDEENFUNCLIST = function (state, data) {    console.log('SETFORBIDEENFUNCLIST, 1');    // 業務邏輯,沒有異步操作.....    console.log('SETFORBIDEENFUNCLIST, 2');}actions.initData = function(context,payload) {  actions.loadControl(context,{ show: true });  serverUtils.getData(serverUtils.GETBYID,{id: payload.id},function(data) {    if (data.success) {      actions.getForbiddenFuncList(context).then(() => {        console.log('a')        context.commit('INITDATA', data.data);        console.log('b')        actions.getQuestionData(context,data.data.questionUrl);        actions.checkSliceUpdate(context,payload);      });    }  });}運行結果:
查看完整描述

2 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

不是resolve最后執行,是執行完這堆同步代碼,才輪到event loop去檢測microtask。
Js 的事件循環

查看完整回答
1 反對 回復 2019-04-14
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

查看完整回答
反對 回復 2019-04-14
  • 2 回答
  • 0 關注
  • 2546 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號