2016-06-24 47 views
-2

我有一个从Redis的商店中移除元素的功能:为什么不工作回调?

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

我称之为:

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

它给我的错误:

类型错误:回调不上的功能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){ 

然而,要传递只有1个参数,因此,identificator存放传递

所述的函数值