У меня есть сервис с методами, что делает запросы к серверу:
this.add = function (data, cb) {
$http({
method: 'POST',
url: path
}).then(function successCallback(response) {
cb(response);
}, function errorCallback(response) {
// TODO
});
};
Когда я называю add()
как:
genresService.add(function (data) {
// TODO
});
Я получаю сообщение об ошибке:
TypeError: cb is not a function
at successCallback (custom.js:329)
на линии:
cb(response);
Вы передаете свой обратный вызов как единственный аргумент, но ваша функция занимает два. –
Скорее вам следует «возвратить обещание» с помощью функции 'this.add'. Таким образом, вы можете сделать свой вызов функции продолжительным с помощью цепочки с использованием функции «.then' over function call –
Как было сказано выше, вместо этого следует использовать обещания. Использование обратных вызовов в коде на основе обещаний является антипаттерном. – estus