2016-06-24 81 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存放傳遞

所述的函數值