【问题标题】:flow in mobx-state-tree calls only the first async methodmobx-state-tree 中的 flow 只调用第一个异步方法
【发布时间】:2019-12-26 07:40:03
【问题描述】:

这是我商店中的操作代码:

load: flow(function*(titleId: string) {
  self.title = yield Api.Get(titleId);
  self.matrices = yield Api.ListMatrix();
})

所有的 Api 方法都返回 Promise<T>

当我调用 await Store.load() 时,仅调用 Api.Get,而不是流向下一个 Api 调用。当我注释掉第一行时,会调用 Api.ListMatrix。所以我猜,不是自动从一个 yield 流到下一个,而是在第一个 yield 语句处停止。

我错过了什么吗?

【问题讨论】:

    标签: reactjs typescript mobx-react mobx-state-tree


    【解决方案1】:

    如果它没有进入下一个yield 语句,api 可能存在某种错误。

    另外,您如何将titleId 传递给Store.load()

    最后尝试将yield Api.Get(titleId) 包装在try/catch 块中,看看会发生什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多