2013-08-26 43 views
17

我喜欢在我的Dart应用程序中模拟异步Web服务调用以进行测试。为了模拟这些模拟调用响应的随机性(可能失序),我想编程我的模拟在返回“未来”之前等待(睡眠)一段时间。如何“睡觉”飞镖程序

我该怎么做?

回答

24

您也可以使用Future.delayed工厂在延迟后完成未来。下面是两个功能,一个延迟后异步返回一个字符串的例子:

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"); 
} 
15

这并不总是你想要的(有时你想Future.delayed),但如果你真的想在你的飞镖命令行应用睡觉,你可以使用飞镖:io's sleep()

import 'dart:io'; 

main() { 
    sleep(const Duration(seconds:1)); 
} 
+0

好!不幸的是,这些信息很难在官方网站上找到。 –

+5

如果您正在构建Web应用程序,则“dart:io”库不可用 – adeel41