Lorsqu'une fonction attend un rappel comme param, je suppose que ce sens pour assurer une fonction liée comme celui-ciCallback ne peut pas être invoqué correctement, si le paramètre est une fonction liée
function invokeCb(cb){
cb();
}
function test(x){
console.log(x)
}
const para="xyz";
invokeCb(test.bind(null,para)) //(1)
invokeCb(()=>{test(para)}) //(2)
Je ne vois pas quelque chose ne va pas avec (1)
. Cependant, quand il vient au monde réel, je rencontre un comportement inattendu
Voici un exemple, dans redux
store.subscribe(
()=>{(saveState.bind(null,store.getState()))()}
)
peut travailler pendant
store.subscribe(saveState.bind(null,store.getState()))
ne peut pas correctement, à savoir le store.getState()
semble jamais invoqué correctement
Si vous avez besoin de plus de contexte. Ici: https://egghead.io/lessons/javascript-redux-persisting-the-state-to-the-local-storage
Peut-être que j'ai manqué quelques différences subtiles entre les deux forme, quelqu'un peut le signaler?
Je crois que vous connaissez la réponse, pourriez-vous donner un exemple concret aux démons trate la différence, je ne peux vraiment pas obtenir votre point – Guigui
Vous êtes en quelque sorte correct, le problème est que 'stocker.getState() 'lire les données obsolètes – Guigui
@Guigui J'ai ajouté un exemple (mais je ne l'ai pas essayé) – Bergi