[英]Javascript callback function with parameter
電話:
Query.GetDepartments(AcademicYears, function (result) {
console.log(result)
})
功能:
exports.GetDepartments = function (callback, AcademicYears) {
CountAcademicYears = Object.keys(AcademicYears).length;
switch (CountAcademicYears) {
case 1:
AcademicYear1 = AcademicYears[0].Year;
AcademicYear1 = String(AcademicYear1);
query = "SELECT [p_departement], [depcode], [departement], [schooljaar] FROM [SA_Departement] WHERE schooljaar='" + AcademicYear1 + "'";
console.log(query);
(async function () {
try {
let result = await globalConnectionInfordat.request()
.query(query);
callback(result.recordset);
} catch (err) {
console.log(err);
}
})();
break;
..........
}
}
這給了我這個錯誤:
'Incorrect syntax near the keyword \'function\'.',
由於某種原因,該字符串未正確讀出(我認為)? 有任何想法嗎?
我只需要知道如何將參數傳遞給函數?
編輯
由於某些原因,我不得不將單詞移開:函數(Academicyears,回調)正在運行。
謝謝您的幫助!
callback
是一個局部變量。 它僅存在於function (query, callback) { /* ... */ }
。
您不能從該函數外部使用它(即,在傳遞給ExecuteSql
的匿名函數中)。
您將需要創建對該函數的另一個引用,然后使用該名稱:
this.ExecuteSql("SELECT ...", function a_named_function (result) {
a_named_function(result);
});
…但是遞歸調用該函數沒有任何意義。
按照“ ExecuteSql”的定義,它接受2個參數。 1.字符串2.函數。
因此,當您調用該模塊時。
它應該是:
this.ExecuteSql("your string", function (result) {
console.log(result);
});
希望這對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.