web-dev-qa-db-fra.com

Passage de paramètres à une fonction de rappel à l'aide de la fonction flèche

Je sais que c'est dupliqué question avec ES5 et Mais je cherche la syntaxe avec la fonction de flèche ES6. Mon code ci-dessous.

fetchItems = (callback) => {
    //After ajax success
    callback(response);
}

const myParams = {name:"John"}
this.fetchItems((res) => {
    console.log(res.data);
});

Pour le scénario ci-dessus, je souhaite transmettre certains paramètres (myParams) à l'appel de fonction et entrer dans la fonction. Comment puis-je archiver cela? Aidez-moi.

2
Jaison

Vous pouvez le faire:

const fetchItems = (callback, ...params) => {
    //Do whatever you want with the params
    callback(response);
}

Exemple d'utilisation:

const fetchItems = (callback, ...params) => {
    callback(params);
}
    
fetchItems ((res) => console.log(res), 'foo', 1);

4
YoukouleleY

Plus ou moins, vous pouvez le faire de la même manière

const getCountries = (data, callback) => {
    //After ajax success
    callback(response);
}

getCountries("data", ()=>{});
2
void

Il existe un moyen d'utiliser defaultValue, mais je ne pense pas que ce soit le meilleur.

Si je peux trouver un meilleur moyen, je mettrai à jour la réponse.

fetchItems = (callback) => {
  var response = {data: 'a'};  
  //After ajax success
  	
    callback(response);
}

const myParams = {name:"John"}
this.fetchItems((res, params = myParams) => {
    console.log(res.data);
    console.log(params);//{name:"John"}
});

0
Aluok