Народная сказка: совместите Результат и Задание (или просто пообещайте)

Это кусок сломанного кода:

      async function foo() {
  return maybeMonad
    .map((resultMonad) => resultMonad
      .matchWith({
        Error: (errorMonad) => errorMonad,
        Ok: (okMonad) => okMonad
          .map(async (context) => {
            let res = await apiRequest(context.token);
            context.data = res.data;
  
            return context;
          }),
      }));
}


await foo() // => Maybe(Promise)

Идея состоит в том, чтобы получить некоторое значение из контекста, сделать запрос и вернуть контекст с дополненными данными. Но он возвращает обещание в состоянии ожидания. Что я делаю неправильно?

0 ответов

Другие вопросы по тегам