要素のすべてのインスタンスに対して静的変数を Map として定義しました。特定のキーが含まれている場合は、その値を使用する必要があります。キーが含まれていない場合、インスタンスはリクエストでデータを取得し、それを静的マップに保存して、他のインスタンスがそれを使用できるようにする必要があります。
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 });
}
}
問題は、他のインスタンスが if にある時点でキーがマップに含まれていないため、すべてのインスタンスが else に入ることです。したがって、データがマップに表示されるまで待つ必要があります。