Я определил статический var как Map для всех экземпляров моего элемента. Если он содержит определенный ключ, он должен использовать значение. Если ключ не содержит экземпляр, он должен получить данные с запросом и сохранить его в статической карте, чтобы другие экземпляры могли его использовать.Dart: использовать фьючерсы для асинхронного заполнения статического var
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
Я обновил свой ответ. –
Каждый экземпляр все еще выполняет запрос ... Не должен быть статичным, чтобы каждый экземпляр мог его видеть? – Azael