在该方法中,你无法直接使用yield
来暂停resolve(res)
的执行。因为yield
关键字只能用于生成器函数内部,在异步操作中不起作用。
如果你想要在异步操作完成之后再执行一些代码,可以考虑使用 async/await
或者 .then()
方法来处理异步操作的结果。例如:
const rest = await new Promise((resolve, reject) => {
console.log("11111");
globalThis.success = false;
Bus.emitObject(bankData.event, {data: body}, (res) => {
console.log("22222");
resolve(res);
});
}).catch(error => {
console.error(error);
});
// 在此处继续执行后续的代码
console.log(rest);
console.log("success的新值为" + success);
console.log("333333");
请注意,以上代码应该放置在一个异步函数中才能使用 await
关键字进行等待。
内容由零声教学AI助手提供,问题来源于学员提问