我在NodeJS中很新,但我也在爲函數之間傳遞變量/對象的概念掙扎。我很感謝任何幫助我做錯了什麼。回調不是函數NodeJS
請考慮下面的代碼:
傳入的請求:
{
sender: '32165498732165845',
text: 'shopping',
originalRequest:
{
sender: { id: '32165498732165845' },
recipient: { id: '87971441647898' },
timestamp: 1488196261509,
message: { mid: 'mid.1488196261509:c7ccb7f608', seq: 36372, text: 'shopping' }
},
type: 'facebook'
}
提取相關的變量:
var userId = request.sender;
var listName = request.text;
bot.js:
var listOps = require('./listops/test.js');
listOps.setActive(function (userId, listName, callback) {
console.log ('Here I expect a callback!');
return callback; // This will send the message back to user.
});
listops/test.js:
exports.setActive = function(userId, listName, callback) {
var message = "User number " + userId + " asks to create a list with name " + listName + ".";
console.log(userId);
console.log(listName);
callback (message);
}
現在我的問題是,在listOps.js
兩個控制檯日誌的結果不是我所期望的價值,它說:[Function]
和undefined
。因此我懷疑,這是錯誤消息[TypeError: callback is not a function]
的根本原因。
我在Lambda中使用Claudia.js。
你可能想了解回調第一http://stackoverflow.com/a/19739852/6048928 http://stackoverflow.com/a/19756960/6048928 – RaR
你定義'setActive'爲'function(userId,listName,callback)'但在bot.js中,你只傳遞一個匿名函數作爲第一個參數 –
所以這樣? 'listOps.setActive(userId,listName,callback); if(callback){console.log('Here I expect a callback!'); 返回回調; };' –