Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Javascript Sailsjs异步模型对象_Javascript_Node.js_Sails.js - Fatal编程技术网

Javascript Sailsjs异步模型对象

Javascript Sailsjs异步模型对象,javascript,node.js,sails.js,Javascript,Node.js,Sails.js,我需要在模型“toObject”方法中使用以异步方式接收的数据 toObject: function() { var user = this; return q(Group.find()) .then(function(groups) { .... return user; }); }, toJSON: function() { this.toObject().then(function(user) { return use

我需要在模型“toObject”方法中使用以异步方式接收的数据

toObject: function() {
    var user = this;
    return q(Group.find())
    .then(function(groups) {
    ....
    return user;
    });
},
toJSON: function() {
    this.toObject().then(function(user) {
        return user;
    });
}
这不起作用,并且会破坏所有策略(用户变得不可用)


有没有办法让我做到这一点?谢谢。

Sails不用等到toJSON完成。它假定此方法不是异步的。这种逻辑的位置在控制器内部。例如,在beforeCreate方法中,您必须调用最后一个参数,这是一个函数,通常调用next()来进一步移动,因为sails会等待

beforeCreate: function (values, next) {
    bcrypt.hash(values.password, 10, function(err, encryptedPassword){
        values.password = encryptedPassword;
        next();
    })
}
看起来是这个问题,不是具体问题。