У меня сейчас что-то вроде этого
Future<bool> checkAvailability(String email) async {
var client = new http.Client();
var response = await client.get(host);
bool result;
if (response.statusCode == 404) {
result= true;
}
else if (response.statusCode == 200) {
result= false;
}
client.close();
return result;
}
Я вызываю вышеуказанный метод из обычной не-aysnc-функции
таким образом
void test() {
checkAvailability(email).then((result){....}
);
}
Проблема с приведенным выше кодом заключается в том, что он асинхронный. Из того, что я понимаю, что когда-то checkAvailability
называется его запускается в другой теме? а пользовательский (основной) поток продолжается? Я прав?
Я хотел бы, чтобы функция test
ожидала результата checkAvailability
. Я знаю, что могу использовать await, но тогда метод test
нужно будет пометить как async
, и при вызове этого метода он будет запущен в другом потоке. Я хочу, чтобы звонок на checkAvailability
был синхронным, и я не против дождаться ответа.