вообще:

мотрел на похожие вопросы и ответы и не нашел ответа, который непосредственно касается моего вопроса. Я изо всех сил пытаюсь понять, как использовать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)  

Ответы на вопрос(2)

Ваш ответ на вопрос