strats[key] = fromVal2Strat问题

来源:9-2 合并配置的设计与实现 - 配置合并策略(上)

慕用3095910

2019-12-16

const strats = Object.create(null)

function defaultStrat(val1: any, val2: any): any {
return typeof val2 !== ‘undefined’ ? val2 : val1
}

function fromVal2Strat(val1: any, val2: any): any {
if (typeof val2 !== ‘undefined’) {
return val2
}
}

const startKeysFromVal2 = [‘url’, ‘params’, ‘data’]

startKeysFromVal2.forEach(key => {
strats[key] = fromVal2Strat
})

老师,strats[key] = fromVal2Strat中这个fromVal2Strat明显是一个函数,为啥不是fromVal2Strat()调用,而且他怎么保证start[key]和fromVal2Strat中的val2一一对应呢

写回答

2回答

ustbhuangyi

2019-12-16

//img.mukewang.com/szimg/5df7520109eef1aa11821264.jpg
遍历 config 就能获取到 key 了呀

0
0

ustbhuangyi

2019-12-16

就是要指向一个函数呀,调用的时机是在 mergeField 函数执行的时候,它会把 key 传进去。

0
1
慕用3095910
老师,还不是很懂 如果要把key传进去,不应该是mergeField(key)这样的嘛 这样mergeField这样直接调用函数,key是怎么传进去的?
2019-12-16
共1条回复

下一代前端开发语言 TypeScript从零重构axios

课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!

2629 学习 · 877 问题

查看课程