使用 Await 读取异步对象集
Read Async Object Set Using Await
全局对象的 key/value (thing
) 在异步函数 setter();
中使用 await
设置。如何在另一个异步函数 getter();
?
中异步读取 thing
的值
我收到未定义的错误,因为 getter();
在 setter();
中的 await
完成之前是 运行。
let obj = {};
async function af() {
return 1;
}
(async function setter () {
obj.thing = await af();
})();
(async function getter () {
let thing = obj.thing;
})();
你应该等待 setter 函数完成,你会遇到这种方法的竞争条件问题。
如何运作的一个例子是:
var obj = {};
async function af() {
return 1;
}
(async function() {
await (async function setter () {
obj.thing = await af();
})();
await (async function getter () {
let thing = obj.thing;
})();
console.log(obj.thing);
})();
在函数结束时,它应该记录 af 函数返回的 1
全局对象的 key/value (thing
) 在异步函数 setter();
中使用 await
设置。如何在另一个异步函数 getter();
?
thing
的值
我收到未定义的错误,因为 getter();
在 setter();
中的 await
完成之前是 运行。
let obj = {};
async function af() {
return 1;
}
(async function setter () {
obj.thing = await af();
})();
(async function getter () {
let thing = obj.thing;
})();
你应该等待 setter 函数完成,你会遇到这种方法的竞争条件问题。
如何运作的一个例子是:
var obj = {};
async function af() {
return 1;
}
(async function() {
await (async function setter () {
obj.thing = await af();
})();
await (async function getter () {
let thing = obj.thing;
})();
console.log(obj.thing);
})();
在函数结束时,它应该记录 af 函数返回的 1