不一定。
在 JavaScript 中,异步函数可以通过返回一个 Promise 对象来实现返回值。例如:
asyncfunction getData() {
return 'some data';
}
getData().then(data => {
console.log(data); // 'some data'
});
需要注意的是,异步函数内部的异步操作(如 setTimeout、XMLHttpRequest 等)是不能直接返回值的,必须通过回调函数或者 Promise 对象来实现。
另外,异步函数也可以通过 async/await 语法来实现同步风格的代码。例如:
async function getData() {
const data = await someAsyncOperation();
return data;
}
const data = getData();
console.log(data); // someAsyncOperation 返回的值
这种情况下,getData 函数的返回值就是 someAsyncOperation 函数的返回值。