вообще:
мотрел на похожие вопросы и ответы и не нашел ответа, который непосредственно касается моего вопроса. Я изо всех сил пытаюсь понять, как использоватьMaybe
или жеEither
или жеMonads
в сочетании с функциями трубопровода. Я хочу соединить функции вместе, но я хочу, чтобы конвейер остановился и возвратил ошибку, если она возникнет на любом этапе. Я пытаюсь реализовать концепции функционального программирования в приложении node.js, и это действительно мое первое серьезное исследование, так что ни один ответ не будет настолько простым, чтобы оскорбить мой интеллект по этому вопросу.
Я написал функцию канала следующим образом:
const _pipe = (f, g) => async (...args) => await g( await f(...args))
module.exports = {arguments.
pipeAsync: async (...fns) => {
return await fns.reduce(_pipe)
},
...
Я называю это так:
const token = await utils.pipeAsync(makeACall, parseAuthenticatedUser, syncUserWithCore, managejwt.maketoken)(x, y)