2014-11-05 2 views
2

Я использую шаблонный код для извлечения данных из 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! 
}); 

но редактор не говорит нет возврата, указанного в будущем.

Что мне здесь не хватает?

ответ

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

Отлично! Я часами вспотел это. – khany

+0

И мне было интересно часами, почему никто не спрашивает ни одного вопроса о Дарте сегодня ;-) –

+1

lol. ТАК как папа, который говорит своему ребенку срезать себя прежде, чем он покажет ему, как обращаться с ножом. – khany

Смежные вопросы