我正在努力解决 JavaScript 中的 async/await 函数。
这是我编写的示例代码。
const function1 = async () => {
setTimeout(() => {
console.log('function 1 finished');
return 'message';
}, 500);
};
const funtcion2 = async () => {
const result1 = await function1();
console.log('result1: ', result1);
};
funtcion2();
结果如下,我不太明白。
result1: undefined
function 1 finished
请有人帮我纠正代码,以便我得到类似下面的内容。
result1: 'message'
function 1 finished
最佳答案
function1
需要将 setTimeout
函数的结果作为 Promise 返回,以便进行 await
并显示结果。
因此,您需要创建一个 Promise 并像这样返回它:
const function1 = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('function 1 finished');
resolve('message');
}, 500);
});
};
const funtcion2 = async () => {
const result1 = await function1();
console.log('result1: ', result1);
};
funtcion2();
关于javascript - javascript 中的异步/等待执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73930848/