我尝试使用基于another post的'await'关键字,使用猫鼬ODM进行同步查询,如下所示:
const query= userModel.find({});
const syncResutlt= await query.exec();
console.log(syncResutlt);
但我收到此错误消息:
const result2 = await query.exec();
^^^^^
SyntaxError: Unexpected identifier
我也尝试使用yield
生成器关键字,但是总是遇到相同的错误
SyntaxError: Unexpected identifier
有关信息,我有nodeJs V8。
答案 0 :(得分:2)
您只能等待Promises或标记为async的函数,这实际上会返回Promise。
正确的方式
let getUser=async function(user_id){
let info= await User.findById(user_id);
console.log(info); // contains user object
}
方式不正确
let getUser= function(user_id){
let info= await User.findById(user_id); //will throw an exception on await keyword
console.log(info); // contains user object
}
希望有帮助。