我正在使用 if-branch 测试代码
fVal => {
if(!fCache[idxF]) fCache[idxF] = {}
fCache[idxF][idxCb] = fVal
}
这是由工作服“错过”声明。
但是,如果我删除该 if 行, 测试将失败并抱怨 undefined prop:
fCache[idxF][idxCb]=fVal;
^
TypeError: Cannot set property '0' of undefined
这正是 if 分支纠正的错误。那么为什么它在报道中被宣布为“错过”呢?
添加。这是失败的测试:
test('ap over single CPS function', t => {
const cpsFun = cb => cb(42)
const cpsNew = ap(cb => cb(x => x*2))(cpsFun)
cpsNew(t.cis(84))
})
以及正在测试的相关代码片段:
const ap = (...fns) => cpsFn => {
let fCache = {},
argsCache = {}
...
fns.forEach((f, idxF) => f(...cbs.map((cb, idxCb) =>
fVal => {
if(!fCache[idxF]) fCache[idxF] = {}
...
}
)))
}
return cpsNew
}
牧羊人nacy
相关分类