2016-06-24 19 views
-2

私はRedisのストアから要素を削除する機能を持っている:コールバックが動作しないのはなぜですか?

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

をそして、私はこれを呼び出す:

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

それは私にエラーを与える:

TypeError例外を:コールバックは上の関数ではありません行:

callback(true); 

答えて

3

最初引数(identificator)ではなく、第二(callback):

ここで一つだけの引数があります:

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

第二引数へのコールバックの場合は、前の1があることがあるだろう

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

関数には2つのパラメータが必要です。

function removeDevice(identificator, callback){ 

しかし、あなただけの1パラメータを渡している、したがって、identificator

を渡された関数の値を保持しています
関連する問題