Node.js 如何使用;等待“;在创建新记录时使用“帆”
我想用“等待” 根据sails文件,我的行为如下:Node.js 如何使用;等待“;在创建新记录时使用“帆”,node.js,sails.js,Node.js,Sails.js,我想用“等待” 根据sails文件,我的行为如下: 但我得到了以下错误: var new_place = await Place.create({...}, function place_created(err, XX){ ^^^^^ SyntaxError: await is only valid in async function 我应该怎么做才能解决这个问题。我认为应该使函数异步 async(function(){ var new_place
但我得到了以下错误:
var new_place = await Place.create({...}, function place_created(err, XX){
^^^^^
SyntaxError: await is only valid in async function
我应该怎么做才能解决这个问题。我认为应该使函数异步
async(function(){
var new_place = await Place.create({...})
})();
如果您正在使用wait,则不应使用回调。您应该按照说明管理响应
SyntaxError:await仅在异步函数中有效
这是因为您在非async
请记住,等待关键字仅在异步函数中有效。如果在异步函数体之外使用它,将得到一个SyntaxError
来源
您需要使函数异步
才能工作。在代码中进行这些更改
'use strict';
create: async function(req, res, next) {
var new_place = await Place.create({ ... }, function place_created(err, XX) {
if (err && err.invalidAttributes) {
return res.json({ 'status': false, 'errors': err.Errors });
}
}).fetch();
if (new_place) {
console.log(new_place);
res.json({ 'status': true, 'result': new_place });
}
},
非常感谢,这是一个很好的提示,你也介绍了很好的推荐人
'use strict';
create: async function(req, res, next) {
var new_place = await Place.create({ ... }, function place_created(err, XX) {
if (err && err.invalidAttributes) {
return res.json({ 'status': false, 'errors': err.Errors });
}
}).fetch();
if (new_place) {
console.log(new_place);
res.json({ 'status': true, 'result': new_place });
}
},