我最初有以下代码:
export function InitActions($api) {
return {
[partnersMts.PARTNERS_LIST]({commit, state}) {
if (!state.partnersList || state.partnersList.length === 0) {
$api.partners.partnersList().then(result => {
commit(partnersMts.PARTNERS_LIST, result.data);
});
}
}
}
}
我正在尝试使用async / await重写它,我尝试过:
export function InitActions($api) {
return {
async [partnersMts.PARTNERS_LIST]({commit, state}) {
if (!state.partnersList || state.partnersList.length === 0) {
await $api.partners.partnersList()
commit(partnersMts.PARTNERS_LIST, result.data);
}
},
}
}
但是我得到一个错误:Uncaught (in promise) ReferenceError: result is not defined
在上面的提交行上,这表明代码没有等待调用完成,我在这里写错了什么?
答案 0 :(得分:0)
您需要将等待结果存储到result
变量中:
const result = await $api.partners.partnersList()
commit(partnersMts.PARTNERS_LIST, result.data)