У меня есть 2 функции, которые я буду добавлять в потоке lodash:lodash поток и несколько аргументов
function normalizedFormFields(fields) { // needs only 1 argument
return _.mapValues(fields, function(value) {
return { 'content': value };
});
}
function mergedModelAndFormFieldss(model, normalizedFormFields) {
return _.merge({}, model, normalizedFormFields)
}
const execution = _.flow(normalizedFormFields, mergedModelAndFormFieldss)
const errorMessageBag = function(fields, model) {
return execution(fields, model) // initiate flow with 2 arguments
}
Как вы можете видеть, первая функция normalizedFormFields принимает один аргумент. Второй нужен 2: значение, возвращаемое из предыдущей функции (что является нормальным поведением потока), а другое: модель.
Но в вызове errorMessageBag запускаю процесс потока с помощью 2 аргументов. Как получить второй аргумент, доступный ко второй функции в дополнение к возвращенному продукту первой функции? Как вы видите, проблема в том, что первая функция в потоке принимает и требует только один аргумент. Это какая-то ситуация, когда «карри» должны вступить в игру? Пожалуйста, проиллюстрируйте.
Почему бы не использовать такую функцию '(полей, модель) => mergedModelAndFormFieldss (модель, normalizedFormFields (поля))' вместо '_.flow()'? –
@Gothdo будет больше шагов функций в потоке –
У вас есть доступ к 'model' при вызове' _.flow? 'Если это так, вы можете вызвать' const execute = _.flow (normalizedFormFields, _.partial (mergedModelAndFormFields, модель)) ' – asenovm