使用箭头函数将参数传递给回调函数

时间:2018-07-05 11:32:57

标签: javascript ecmascript-6 arrow-functions

我知道这是ES5的一个duplicated问题,但是我正在寻找ES6箭头功能的语法。我的代码如下。

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

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

对于上述情况,我想随函数调用一起传递一些参数(myParams)并进入函数,我该如何对其进行归档,请帮忙。

3 个答案:

答案 0 :(得分:4)

您可以这样做:

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);

答案 1 :(得分:2)

您可以用更少的方法做更多的事

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

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

答案 2 :(得分:0)

有一种使用defaultValue的方法,但我认为这不是最好的方法。

如果我能找到更好的方法,我将更新答案。

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"}
});