在dart中检索多个商店

时间:2014-11-05 10:19:20

标签: dart store dart-async

我使用样板代码从1个商店中检索数据,例如

MonthStore monthStore = new MonthStore();
monthStore.open().then((months) {

但是我很难从多个相关商店中检索数据。这是我能做的最好的吗?

MonthStore monthStore = new MonthStore();
monthStore.open().then((months) {
  TranStore tranStore = new TranStore();
  tranStore.open().then((trans) {

    // months[trans.monthId].name

  });
});

我尝试使用Future.wait这样的

// declare the stores
MonthStore monthStore = new MonthStore();
TranStore tranStore = new TranStore();

Future.wait(
  [
    getMonth(monthStore, intMonth),
    // another call
  ]
)
.then...

Future<Map> getMonth(mnthStore, mnth) {
  mnthStore.open()
    .then((mnths) {
      return mnths[mnth];
    })
  // need a return here!
});

但是编辑说没有在未来指定回报。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

Future<Map> getMonth(mnthStore, mnth) {
  return mnthStore.open() // <= here the return is important
  .then((mnths) {
    return mnths[mnth];
  });
});