Привет, JavaScript-кодеры!
1002 * У меня есть код, который я пытаюсь выяснить.Это в основном приложение в d3, которое раскрашивает карту страны на основе данных и в соответствии с выбранным порогом.Говорят, что программа написана по определенному шаблону, который называется:
//program pattern
const compose = (...fns) => (arg) =>
fns.reduce((composed, f) => f(composed), arg)
Также эта функция compose используется в основной функции файла
var drawMap = (categoryName, subCategory, subSubCategory, colorFunction=defaultColorFunction) => {
var getArrayOfCategory = getArrayOfCategoryByName(categoryName),
colorArrayBuilder = createColorArrayBuilder(colorFunction),
d3SvgMap = d3.select("svg#svg2"),
colorMap = createColorMap(d3SvgMap),
hoverTipString = subSubCategory + " " + subCategory.toLowerCase(),
hoverEffects = addHoverEffects(d3SvgMap)(hoverTipString),
currentRenderArray = getCurrentRenderArray(C.defaultMainCategory, subCategory, subSubCategory),
d3SvgPyramid = d3.select("svg#"+C.pyramidSvgId),
pyramidChart = drawPyramidChart(d3SvgPyramid),
handler = compose(
currentRenderArray,
hoverEffects,
colorArrayBuilder,
pyramidChart,
colorMap
)
getArrayOfCategory(handler)
}
Может кто-нибудь объяснитьэтот шаблон для меня, как в простых словах, и скажите мне, какова цель функции-обработчика в drawMap.
Я действительно застрял, чтобы понять это, поэтому любая помощь будет оценена.
Заранее благодарен