JS | Promise 在一个事件函数作用域中 resolve,然后在另一个作用域调用 .then() 监听它的状态变化
🌟 方案:使用 Promise
的 resolve
控制异步完成
let resolveFn; // 用于存储 resolve 函数
const promise = new Promise((resolve) => {
resolveFn = resolve; // 先保存 resolve 以便后续调用
});
// 事件触发后 resolve Promise
function triggerEvent() {
console.log("事件触发,Promise 变为 resolved");
resolveFn("Hello, Promise 完成!");
}
// 在另一个作用域监听 Promise 结果
function waitForPromise() {
promise.then((result) => {
console.log("获取到 Promise 结果:", result);
});
}
// 测试
waitForPromise(); // 先调用监听函数
setTimeout(triggerEvent, 2000); // 2 秒后触发事件,Promise resolve
更新日志
2025/6/15 11:14
查看所有更新日志
13186
-initial于