在使用 async/await 时,返回的对象是一个 Promise 对象,而不是直接的结果。因此在使用 console.log 打印时,会输出 Promise 对象的状态(pending、resolved 或 rejected),而不是最终的结果。
要解决这个问题,可以使用 async/await 的方式来获取 Promise 对象的最终结果,并将其打印出来。以下是一个示例代码:
async function getData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Hello, World!");
}, 2000);
});
}
async function printData() {
const result = await getData();
console.log(result);
}
printData();
在上面的代码中,getData
函数返回一个 Promise 对象,其中在 2 秒后会 resolve 并返回字符串 "Hello, World!"。printData
函数使用 async/await 来等待 getData
函数的结果,并将最终的结果打印出来。
当我们调用 printData
函数时,它会等待 getData
函数的结果,并将结果打印到控制台上。这样就可以得到最终的结果,而不是 Promise 对象本身。