是否可以在异步函数之外使用 await
Is it possible to use await outside async function
这是我在 nodejs 中的简单函数
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
}
const value = await myFunction()
但是当我在异步函数之外执行 await
时它会抛出错误
await is a reserved word
现在如何等待异步函数外的值?我需要使用回调还是 .then
?那有什么用async and await
?
您不能在异步函数外使用 await
。
'bypass' 这个限制的一个技巧是使用异步 IFEE:
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
};
(async () => {
const value = await myFunction()
})()
主要问题的简短回答:"Is it possible to use await
outside async
function" 否.
但是有多种方法可以访问 async
操作的值,例如
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
}
const execution = () => {
myFunction().then( ( exercises ) => {
console.log( exercises );
});
}
因为 async
是 Promises
的包装器来访问您需要使用 then
的结果,并且当执行完成时触发回调。
这是我在 nodejs 中的简单函数
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
}
const value = await myFunction()
但是当我在异步函数之外执行 await
时它会抛出错误
await is a reserved word
现在如何等待异步函数外的值?我需要使用回调还是 .then
?那有什么用async and await
?
您不能在异步函数外使用 await
。
'bypass' 这个限制的一个技巧是使用异步 IFEE:
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
};
(async () => {
const value = await myFunction()
})()
主要问题的简短回答:"Is it possible to use await
outside async
function" 否.
但是有多种方法可以访问 async
操作的值,例如
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
}
const execution = () => {
myFunction().then( ( exercises ) => {
console.log( exercises );
});
}
因为 async
是 Promises
的包装器来访问您需要使用 then
的结果,并且当执行完成时触发回调。