gpt4 book ai didi

javascript - 如何理解立即返回另一个函数的函数

转载 作者:行者123 更新时间:2023-11-28 17:06:24 24 4
gpt4 key购买 nike

I am confused by the following code.

Source
export const createProject = (project) => {
return (dispatch, getState, {getFirestore}) => {
// make async call to database
const firestore = getFirestore();
firestore.collection('projects').add({
...project,
authorFirstName: 'Net',
authorLastName: 'Ninja',
authorId: 12345,
createdAt: new Date()
}).then(() => {
dispatch({ type: 'CREATE_PROJECT_SUCCESS' });
}).catch(err => {
dispatch({ type: 'CREATE_PROJECT_ERROR' }, err);
});
}
};

我的问题是关于这条线的。

return (dispatch, getState, {getFirestore}) => {...

是什么让这个工作如此有效?争论从何而来?什么叫他们?所有这些争论不是已经在范围内了吗?为什么我们需要createProject返回第二个函数?是createProject返回第二个函数?或者它立即调用内联函数?是什么触发了return要运行的函数?

我通常对这种模式感到非常困惑。有人可以帮我分解一下吗?

最佳答案

从最简单的模式开始:

function outter(outterArg) {
return function(innerArg) {
console.log(outterArg, innerArg )
}
}
let retFunction = outter('outterValue')
// retFunction is that function returned from outter
// now call the retFunction
retFunction('innerValue')

// or call them on one line
outter('oneLineOutter')('oneLineInner')

关于javascript - 如何理解立即返回另一个函数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55752592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com