Javascript 两支肥壮的箭紧随其后
那么这些粗箭头在下面的代码中起什么作用呢?如果他们不是两个,我能理解Javascript 两支肥壮的箭紧随其后,javascript,syntax,ecmascript-6,Javascript,Syntax,Ecmascript 6,那么这些粗箭头在下面的代码中起什么作用呢?如果他们不是两个,我能理解 export default function clientMiddleware(client) { return ({dispatch, getState}) => { // ******** starts here ********** return next => action => { // ******** ends here ********** if (t
export default function clientMiddleware(client) {
return ({dispatch, getState}) => {
// ******** starts here **********
return next => action => {
// ******** ends here **********
if (typeof action === 'function') {
return action(dispatch, getState);
}
const { promise, types, ...rest } = action; // eslint-disable-line no-redeclare
if (!promise) {
return next(action);
}
const [REQUEST, SUCCESS, FAILURE] = types;
next({...rest, type: REQUEST});
const actionPromise = promise(client);
actionPromise.then(
(result) => next({...rest, result, type: SUCCESS}),
(error) => next({...rest, error, type: FAILURE})
).catch((error)=> {
console.error('MIDDLEWARE ERROR:', error);
next({...rest, error, type: FAILURE});
});
return actionPromise;
};
};
}
这段代码的等价物是什么
value => value2 => {
// some code
}
这基本上是一个arrow函数,它返回一个arrow函数。你可以把它写得更清楚:
(value) => {
return (value2) => {
// some code
};
}
语法是可能的,因为:My bad,谢谢你提醒我:)