#flutter #asynchronous #dart #future
#flutter #асинхронный #dart #будущее
Вопрос:
Например, есть ли какая-либо разница между этими двумя фрагментами кода? В dartpad они возвращают одно и то же одновременно.
Выводит ли сама функция возвращаемое значение bool
из объявления функции ( Future<bool>
), чтобы использовать просто « return
нормально или есть какая-то конкретная ситуация, которая имеет значение?
A:
Future<bool> anyFunction() async {
print('start');
var temp = Future.delayed(Duration(seconds: 5));
bool result = await getSomeResult();
print('end');
return resu<
}
B:
Future<bool> anyFunction() async {
print('start');
var temp = Future.delayed(Duration(seconds: 5));
bool result = await getSomeResult();
print('end');
return Future<bool>.value(result);
}
Комментарии:
1. они одинаковы, однако
A
более «естественны»2. Да, оба они одинаковы, но в первом случае компилятор будет лучше осведомлен о том, что вы пытаетесь вернуть, поэтому поможет вам получить доступ к функциям во время компиляции и все остальное.
3. @UTKARSHSharma а во втором случае компилятор этого не делает?
4. Ой, я этого не видел
, так что никаких изменений вообще нет