我尝试了解try catch'ing async / await函数的行为。 举一个例子并调用函数:
(async () => {
try {
const res = await new Promise(res => {setTimeout(() => res({a: 1}), 2000)});
} catch(err) {
console.log('err: ', err);
}
console.log(res['a']);
})();
它导致错误:
Uncaught (in promise) ReferenceError: res is not defined
at <anonymous>:7:14
如果我在try块中等待分配并想进一步使用promise值,应该如何编写代码?