Подтвердить что ты не робот

Как я могу "спать" в программе Дарт

Мне нравится моделировать асинхронный вызов веб-службы в приложении Dart для тестирования. Чтобы имитировать случайность этих ложных звонков, отвечающих (возможно, не по порядку), я хотел бы запрограммировать мои макеты ждать (спать) в течение определенного периода времени, прежде чем возвращать "Будущее".

Как я могу это сделать?

4b9b3361

Ответ 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));
}