这是一口损坏的代码:
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)
这个想法是从上下文中获取一些值,发出请求并返回带有补充数据的上下文。但它返回一个处于待处理状态的 Promise。我做错了什么?