0
我試圖將一個額外的參數傳遞給第三個回調函數(它不是我自己的回調函數)。js - 將額外的參數傳遞給回調函數
const selectedItems = dt.rows({ selected: true });
const selectedIndexes = selectedItems.indexes();
const selectedData = selectedItems.data();
let data_object = [];
$.each(selectedData, (i, o) => {
data_object.push(o['PackageName']);
});
window.bridge.deleteApps(data_object, (success_list, selectedIndexes) => {
console.log("test"); // selectedIndexes -> undefined
});
背景:這是附帶的Qt功能觸發一個Python方法(PyQt的)時,第一個參數傳遞給Python中的第二參數是從蟒蛇法(success_list
)返回一個回調函數,但我也需要selectedIndexes
。
當我做
window.bridge.deleteApps(data_object, (success_list, abc=selectedIndexes) => {
console.log("test"); // abc + selectedIndexes is available
});
我很抱歉,我沒有工作片斷爲你測試,但我做了關於一些回調和期試驗研究其實不明白,所以我不能重現這種情況。
OMG你是對的...我很困惑AF,多數民衆贊成我第一次嘗試和IAM相當確信它說'selectedIndexes是undefined' - .- – FalloutBoy
如果你正在使用'const selectedIndexes = selectedItems.indexes();'作爲你的調用來獲得'selectedIndexes'的值,你確定你實際上從中獲得了一個值嗎?在實際進行其他調用之前,你能記錄'selectedIndexes'嗎? – stetsmando
是的,現在工作正常。我非常確定,當它昨天訪問回調函數時,我得到了一個未定義的錯誤,這就是爲什麼我甚至要求幫助,但現在我可以輕鬆地訪問回調中的變量......所以最後從來沒有存在過問題:S感謝你的幫助! – FalloutBoy