4
我已經爲我的元素的所有實例定義了靜態變量爲Map。如果它包含一個特定的鍵,它應該使用該值。如果密鑰不包含,實例應該獲取請求的數據並將其保存在靜態映射中,以便其他實例可以使用它。Dart:使用期貨異步填寫靜態變量
static var data = new Map();
func() {
if (Elem.data.containsKey(['key']) {
list = Elem.data['key'];
}
else {
Helper.getData().then((requestedData) {
list = requestedData;
Elem.data.addAll({ 'key' : requestedData });
}
}
的問題是,我所有的情況下,進入別的,因爲關鍵是不能在此刻的其他實例是在如果地圖包含。所以我需要他們等待,直到數據在地圖中。
兩種方法的工作,填補了地圖。我意識到這一點,爲什麼我問我如何讓其他實例等到地圖填充 – Azael 2014-11-04 09:59:29
我更新了我的答案。 – 2014-11-04 10:04:23
每個實例仍然有請求...不應該使用Completer靜態,所以每個實例都可以看到它? – Azael 2014-11-04 10:20:12