gpt4 book ai didi

javascript - js - 将额外参数传递给回调函数

转载 作者:行者123 更新时间:2023-12-03 03:33:22 24 4
gpt4 key购买 nike

我正在尝试将额外的参数传递给第三个回调函数(它不是我自己的回调)。

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,第二个参数是一个回调函数,从python方法返回(success_list) 但我也需要 selectedIndexes

当我这样做的时候

window.bridge.deleteApps(data_object, (success_list, abc=selectedIndexes) => {
console.log("test"); // abc + selectedIndexes is available

});

很抱歉,我没有可供您测试的工作片段,但我对回调进行了一些研究,但实际上并不理解它,所以我无法重现此案例。

最佳答案

我认为您的困惑部分在于回调的处理方式。基本上,由 window.bridge.deleteApps 函数将参数传递给您提供的回调。因此,除非您是该函数的作者,否则没有一个好方法让它向您传递附加参数。但是,在上面的示例中,您应该有权访问 selectedIndexes,因为您已使用 const 声明了它,并且可以通过回调访问它。

所以你应该能够得到这个代码:

window.bridge.deleteApps(data_object, (success_list) => {
console.log(selectedIndexes); // Should be available because you've declared it in a higher scope
console.log(success_list); // Gets passed by the .deleteApss function
});

关于javascript - js - 将额外参数传递给回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45986709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com