gpt4 book ai didi

node.js - 创建新记录时如何在 sails 中使用 "await"

转载 作者:搜寻专家 更新时间:2023-11-01 00:11:30 24 4
gpt4 key购买 nike

我想用“等待”

根据 sails 文档,我的行为如下:
https://sailsjs.com/documentation/reference/waterline-orm/models/create

create: 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});
}
},

但是我得到以下错误:

var new_place = await Place.create({...}, function place_created(err, XX){
^^^^^
SyntaxError: await is only valid in async function

我应该怎么做才能解决这个问题。

最佳答案

SyntaxError: await is only valid in async function

这是因为您在非 async 的函数中使用 await

Remember, the await keyword is only valid inside async functions. If you use it outside of an async function's body, you will get a SyntaxError.

来源 MDN async function

您需要使函数 async 才能工作。在您的代码中进行这些更改,

'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 });
}
},

关于node.js - 创建新记录时如何在 sails 中使用 "await",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49594267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com