2016-06-24 3 views
-2

У меня есть функция, удалить элемент из Redis магазина:Почему не работает обратный вызов?

function removeDevice(identificator, callback){ 
    client.srem('devices', identificator, function(err) { 
     callback(true); 
    }); 
} 

И я называю это:

removeDevice(function (data) { 
     res.json(data); 
    }); 

Это дает мне ошибку:

TypeError: обратный вызов не является функцией на line:

callback(true); 

ответ

3

Вы передаете функцию как первого аргумент (identificator), а не второй (callback):

Там только один аргумент здесь:

removeDevice(function (data) { 
    res.json(data); 
}); 

Для обратного вызова второго аргумента, то должен был бы быть один впереди от него:

removeDevice(somethingHere, function (data) { 
//   ^^^^^^^^^^^^^^^ 
    res.json(data); 
}); 
1

Ваша функция ожидает 2 параметра.

function removeDevice(identificator, callback){ 

Однако, вы передаете только один параметр, следовательно, identificator имеет значение функции передается

Смежные вопросы