Как я могу "спать" в программе Дарт
Мне нравится моделировать асинхронный вызов веб-службы в приложении Dart для тестирования. Чтобы имитировать случайность этих ложных звонков, отвечающих (возможно, не по порядку), я хотел бы запрограммировать мои макеты ждать (спать) в течение определенного периода времени, прежде чем возвращать "Будущее".
Как я могу это сделать?
Ответы
Ответ 1
Вы также можете использовать Future.delayed factory для завершения будущего после задержки. Ниже приведен пример двух функций, возвращающих строку асинхронно после задержки:
import 'dart:async';
Future sleep1() {
return new Future.delayed(const Duration(seconds: 1), () => "1");
}
Future sleep2() {
return new Future.delayed(const Duration(seconds: 2), () => "2");
}
Ответ 2
Это не всегда то, что вы хотите (иногда вы хотите Future.delayed
), но если вы действительно хотите спать в своем приложении командной строки Dart, вы можете использовать dart: io sleep()
:
import 'dart:io';
main() {
sleep(const Duration(seconds:1));
}