我有下面的代碼的麻煩:理解回調函數
var placeingOrders = function(orderNumber) {
console.log("Order number: ", orderNumber);
requestedOrder(orderNumber, returnOrder);
};
function requestedOrder(orderNumber, callback) {
setTimeout(orderNumber, callback, 5000);
}
function returnOrder() {
console.log("Order number: " , " is delivered");
}
IM試圖傳遞迴調函數的參數,但是當我做如上我得到了以下錯誤代碼:
timers.js:348
throw new TypeError('"callback" argument must be a function');
^
TypeError: "callback" argument must be a function
at exports.setTimeout (timers.js:348:11)
而且當然,如果我沒有參數運行相同的代碼,它會工作。
var placeingOrders = function(orderNumber) {
console.log("Order number: ", orderNumber);
requestedOrder(returnOrder);
};
function requestedOrder(callback) {
setTimeout(callback, 5000);
}
function returnOrder() {
console.log("Order number: " , orderNumber , " is delivered");
}
我想知道我在這裏做了什麼錯誤。如果我想傳遞參數,我該如何正確使用此回調函數。
(PS:IM不是以英語爲母語,SRY爲)
requestedOrder(ORDERNUMBER,returnOrder); returnOrder沒有定義,你不設置它調用函數requestedOrder – episch