gpt4 book ai didi

service - sails.js 使用查找查询时,服务返回对象未定义

转载 作者:行者123 更新时间:2023-12-02 14:13:04 25 4
gpt4 key购买 nike

我创建了一个名为 AppService 的服务。它的函数 getUserPostionOptions 应该返回一个对象:

getUserPostionOptions: function (user) {
// PositionOptions.findOne({id:'53f218deed17760200778cfe'}).exec(function (err, positionOptions) {
var positionDirectionsOptions = [1,2,3];
var positionLengthsOptions = [4,5,6];
var object = {
directions:positionDirectionsOptions,
lengths:positionLengthsOptions
};
return object;
// });
}

这有效,在我的 Controller 中,positionOptions 被正确填充:

var positionOptions = AppService.getUserPostionOptions(user);

但是,当我取消注释查找查询时,找到了该项目,但对象返回未定义。

提前感谢您的帮助

最佳答案

SailsJs ORM(以及几乎 NodeJs 数据库查询方法)通过回调函数使用非阻塞机制。所以你必须将代码更改为:

getUserPostionOptions: function (user, callback) {
PositionOptions.findOne({id:'53f218deed17760200778cfe'}).exec(function (err, positionOptions) {
var positionDirectionsOptions = [1,2,3];
var positionLengthsOptions = [4,5,6];
var object = {
directions:positionDirectionsOptions,
lengths:positionLengthsOptions
};
callback(null, object); // null indicates that your method has no error
});
}

然后使用它:

AppService.getUserPostionOptions(user, function(err, options) {
if (!err) {
sails.log.info("Here is your received data:");
sails.log.info(options);
}
});

关于service - sails.js 使用查找查询时,服务返回对象未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26337059/

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