在async函数中使用await关键字时,它将阻塞函数的执行,直到promise被解析或拒绝。因此,async函数始终返回一个promise对象。如果在async函数中未显式返回值,则返回undefined。 为了解决这个问题,可以在async函数中使用return语句返回期望的值或promise对象。例如:
async function myFunction() {
const result = await fetch('https://example.com/data');
return result.json();
}
myFunction().then(data => console.log(data)).catch(error => console.error(error));
在上面的示例中,myFunction将返回一个promise对象,该对象将解析为从fetch调用返回的JSON数据。 由于async函数始终返回promise对象,因此可以使用.then和.catch方法在调用它时处理成功和失败的情况。