function A({ commit, state }) { return new Promise((resolve, reject) => { test() .then((res) => { resolve(); }); }); } function B() { return A().then((e) => { console.log(123); return true; }); } function C() { if(B()){ console.log(456); } } C(); 我想先打印出456,该怎么办
时间: 2024-04-02 19:04:16 浏览: 53
vuex 解决报错this.$store.commit is not a function的方法
要先打印出456,你可以将函数B返回的Promise对象传递给函数C,并在函数C中使用async/await来等待Promise的解析。下面是修改后的代码示例:
```javascript
async function A({ commit, state }) {
return new Promise((resolve, reject) => {
test()
.then((res) => {
resolve();
});
});
}
async function B() {
await A();
console.log(123);
return true;
}
async function C() {
if(await B()){
console.log(456);
}
}
C();
```
这样修改后,先打印出456,然后再打印出123。
阅读全文