Передача параметров в функцию обратного вызова с помощью функции стрелки - PullRequest
0 голосов
/ 05 июля 2018

Я знаю, что это дублированный вопрос с ES5, но я ищу синтаксис с функцией стрелки ES6. Мой код ниже.

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

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

В приведенном выше сценарии я хочу передать некоторые параметры (myParams) вместе с вызовом функции и войти в функцию. Как мне это заархивировать, помогите.

Ответы [ 3 ]

0 голосов
/ 05 июля 2018

Вы можете сделать это:

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

Пример использования:

const fetchItems = (callback, ...params) => {
    callback(params);
}
    
fetchItems ((res) => console.log(res), 'foo', 1);
0 голосов
/ 08 ноября 2018

Существует способ использования значения по умолчанию, но я не думаю, что он лучший.

Если я найду лучший способ, я обновлю ответ.

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 голосов
/ 05 июля 2018

Более того, вы можете сделать то же самое

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

getCountries("data", ()=>{});
...