Ключевое слово await в Dart автоматически обрабатывает зависимость данных? - PullRequest
0 голосов
/ 05 июля 2018

например в следующем коде

var Cake thisCake = new CheeseCake();
thisCake = await fetchGreenTeaCakeOnline();
if (thisCake.isCheeseCake) {
    print('This is still a cheese cake.')
} else {
    print('The cake is updated')
}

thisCake изначально является экземпляром cheeseCake, и он будет асинхронно назначаться как экземпляр GreenTeaCake. Будет ли предложение if ждать выполнения назначения await или оно будет выполняться независимо от зависимости данных thisCake?

обновление: исправлена ​​синтаксическая опечатка благодаря Günter Zöchbauer

1 Ответ

0 голосов
/ 05 июля 2018

await ожидает завершения Future. В вашем примере thisCake получит назначенный Future, а затем await ожидает его завершения.

Вы, скорее всего, хотите

thisCake = ожидание полученияGreenTeaCakeOnline ()

Таким образом, await ожидает завершения Future, и значение фьючерса присваивается thisCake

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...