Javascript 是否可以使用wait-outside-async函数
这是我在nodejs中的简单函数Javascript 是否可以使用wait-outside-async函数,javascript,node.js,asynchronous,async-await,ecmascript-2017,Javascript,Node.js,Asynchronous,Async Await,Ecmascript 2017,这是我在nodejs中的简单函数 const myFunction = async() => { const exercises = await Exercise.find({ workoutId }) return exercises } const value = await myFunction() 但当我在异步函数外部执行wait时,它会抛出一个错误 await is a reserved word 现在我如何在异步函数之外等待值?我需要使用回调还是。然后?
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
}
const value = await myFunction()
但当我在异步函数外部执行wait时,它会抛出一个错误
await is a reserved word
现在我如何在异步函数之外等待值?我需要使用回调还是
。然后?那么async和await
有什么用呢?在异步函数之外不能使用await
。
“绕过”此限制的一个技巧是使用异步IFEE:
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
};
(async () => {
const value = await myFunction()
})()
不能在异步函数外部使用wait
。
“绕过”此限制的一个技巧是使用异步IFEE:
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
};
(async () => {
const value = await myFunction()
})()
对主要问题的简短回答:“是否可以使用wait
外部async
功能”no
但是,例如,有多种方法可以访问异步
操作的值
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
}
const execution = () => {
myFunction().then( ( exercises ) => {
console.log( exercises );
});
}
由于async
是一个包装器,用于承诺
访问您需要使用的结果,然后
,当执行完成时,将触发回调。对主要问题的简短回答:“是否可以使用等待
外部async
函数”否
但是,例如,有多种方法可以访问异步
操作的值
const myFunction = async() => {
const exercises = await Exercise.find({ workoutId })
return exercises
}
const execution = () => {
myFunction().then( ( exercises ) => {
console.log( exercises );
});
}
由于async
是承诺的一个包装器,它可以访问您需要使用的结果,然后,当执行完成时,就会触发回调。async/await只是Promisesasync/await的语法糖,而不是让异步代码同步;是的,await
取代了原本应该使用的then
。为什么要在async之外使用await?async/await只是Promisesasync/await的语法糖,而不是让异步代码同步;它旨在使异步代码的编写(和读取)更加容易,await
替换了本来应该使用的位置,然后
。为什么要在异步外部使用await?是否常量值
不限于该自执行函数的范围?是否常量值
不限于该自执行函数的范围?