3
Хорошо, граждане Интернета, мне нужна помощь ... Мой сверхпростой метод Remote не запускает обратный вызов. Вместо этого я получаю сообщение об ошибке:Loopback Удаленный метод Обратный звонок не работает
/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');
Почему шлейфу не проходящее обратного вызова?
Я не вижу ничего плохого на первый взгляд. Можете ли вы проверить значения аргументов, переданные в loopback в строке 4, чтобы узнать, является ли последний аргумент обратным вызовом? ie) 'console.log (arguments)' в строке 4. – superkhau
{'0': 'мой тестовый успех', '1': '', '2': 'test success', '3': ' info '} –
Похоже, что обратный вызов не передается удаленному методу, но все данные выглядят ... Вы также можете опубликовать URL-адрес, который вы нажимаете на свой API и любой орган запроса? – jakerella