在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);
});
}
});
}
运行结果:
慕的地10843
三国纷争
相关分类