环回远程方法回调不起作用
Loopback Remote Method Callback not working
好的互联网公民,我需要一些帮助...我的超级简单的远程方法没有触发回调。相反,我收到此错误消息:
/maestro/common/models/datalog.js:11
cb(null, err || 'success');
^
TypeError: undefined is not a function
at /maestro/common/models/datalog.js:11:11
型号:
module.exports = function(Datalog) {
Datalog.logdata = function(description, errordetails, errormsg, severity, cb) {
Datalog.create(
{
description: description,
errordetails: errordetails,
errormsg: errormsg,
severity: severity
}, function(err, res) {
cb(null, err || 'success');
}
);
}
Datalog.remoteMethod(
'logdata',
{
accepts: [
{arg: 'description', type: 'string'},
{arg: 'errordetails', type: 'string'},
{arg: 'errormsg', type: 'string'},
{arg: 'severity', type: 'string'}
],
returns: {arg: 'log', type: 'string'}
}
);
};
调用方法的文件:
logdata = require('./server/server.js').models.datalog.logdata;
logdata('my test success', '', 'test success', 'info');
为什么环回不传递回调?
是的,远程方法仅适用于通过 API 端点的请求。如果您直接调用它,请提供您自己的回调。
为了阅读本文的任何人的利益。您可以利用 loopback.lib.utils 为您创建一个新的回调函数。
只需添加
const utils = require('loopback/lib/utils');
在你的函数中
cb = cb || utils.createPromiseCallback();
好的互联网公民,我需要一些帮助...我的超级简单的远程方法没有触发回调。相反,我收到此错误消息:
/maestro/common/models/datalog.js:11
cb(null, err || 'success');
^
TypeError: undefined is not a function
at /maestro/common/models/datalog.js:11:11
型号:
module.exports = function(Datalog) {
Datalog.logdata = function(description, errordetails, errormsg, severity, cb) {
Datalog.create(
{
description: description,
errordetails: errordetails,
errormsg: errormsg,
severity: severity
}, function(err, res) {
cb(null, err || 'success');
}
);
}
Datalog.remoteMethod(
'logdata',
{
accepts: [
{arg: 'description', type: 'string'},
{arg: 'errordetails', type: 'string'},
{arg: 'errormsg', type: 'string'},
{arg: 'severity', type: 'string'}
],
returns: {arg: 'log', type: 'string'}
}
);
};
调用方法的文件:
logdata = require('./server/server.js').models.datalog.logdata;
logdata('my test success', '', 'test success', 'info');
为什么环回不传递回调?
是的,远程方法仅适用于通过 API 端点的请求。如果您直接调用它,请提供您自己的回调。
为了阅读本文的任何人的利益。您可以利用 loopback.lib.utils 为您创建一个新的回调函数。
只需添加
const utils = require('loopback/lib/utils');
在你的函数中
cb = cb || utils.createPromiseCallback();