首先,这是不是链接。我明白链是围绕功能的方法,这是没有,我一直没能找到这个术语。
基本上我正在寻找的是一个函数的输出传递到另一个和IT连锁干净的方式。一些看起来像这样
const updatedAssets = addCategory(addTagLine(addTags(addImages(addPoints(addID(addTitle(assets)))))));
基本上assets
是一个对象,并且每个功能将增加新的键和值到它。
如果你只是想避免嵌套和提高可读性,你可以让你的函数的数组,并使用reduce()
/ reduceRight()
撰写他们。例如:
let one = n => "one " + n
let two = n => "two " + n
let three = n => "three " + n
let functions = [one, two, three]
let res = functions.reduce((res, f) => f(res), "go")
console.log(res)
// or the opposite direction:
let resRev = functions.reduceRight((res, f) => f(res), "go")
console.log(resRev)