J'essaie de transmettre un paramètre supplémentaire à une troisième fonction de rappel (ce n'est pas mon propre rappel).js - passe un paramètre supplémentaire à la fonction de rappel
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
});
Contexte: C'est une fonction qui est fourni avec Qt qui déclenche un procédé de python (de pyqt), le premier param est passé à python le second param est une fonction de rappel avec le retour de la méthode de python (success_list
), mais J'ai aussi besoin de selectedIndexes
.
Quand je
window.bridge.deleteApps(data_object, (success_list, abc=selectedIndexes) => {
console.log("test"); // abc + selectedIndexes is available
});
Je suis désolé que je n'ai pas extrait de travail pour vous de tester, mais je l'ai fait quelques sur callbacks et Essais en réalité ne le comprends pas, donc je ne suis pas en mesure reproduire ce cas.
omg votre raison ... Je suis confus AF, thats ce que j'ai essayé d'abord et iam sûr qu'il a dit 'selectedIndexes est undefined' - .- – FalloutBoy
Si vous utilisez 'const selectedIndexes = selectedItems.indexes();' comme appel pour obtenir une valeur pour 'selectedIndexes', êtes-vous sûr de récupérer une valeur? Pouvez-vous enregistrer ce que 'selectedIndexes' est avant de faire d'autres appels? – stetsmando
Oui, ça fonctionne bien maintenant. Je suis presque sûr d'avoir une erreur 'undefined' quand il accédait à la fonction de rappel hier alors c'est pourquoi je demandais même de l'aide mais maintenant je peux facilement accéder à la variable à l'intérieur du rappel ... donc finalement il n'y a jamais eu problème: S Merci pour votre aide! – FalloutBoy