Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用;等待“;在创建新记录时使用“帆”_Node.js_Sails.js - Fatal编程技术网

Node.js 如何使用;等待“;在创建新记录时使用“帆”

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

我想用“等待”

根据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 = 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 });
        }
    },