Dart 编程的未来课程
Dart中有不同的类和关键字,当我们想要运行异步代码时可以使用它们。在未来的 类允许我们运行异步代码,我们也能避免与它的帮助下回调地狱。甲将来 主要表示异步操作的结果。
在Dart中,有许多返回未来的标准库调用,其中一些是-
获取
SharedPreference.getInstance()
Dart的未来可以有两种状态,它们是-
Completed -当future的操作完成并且future以值或错误完成时。
未完成 -当一个函数被调用并返回一个未来时,该函数排队并返回一个未完成的未来。
语法
Future
在Dart中,如果Future不产生任何可用的值,则Future的类型是Future
示例
让我们考虑一个小例子,我们声明了一个以延迟方式显示消息的未来。
Consider the example shown below: FutureprintDelayedMessage() { return Future.delayed(Duration(seconds: 4), () => print('Delayed Output.')); } void main() { printDelayedMessage(); print('First output ...'); }
在上面的例子中,我们有一个名为的函数printDelayedMessage(),它返回一个void类型的未来,我们有一个使用名为延迟的方法的未来,通过它我们能够将延迟输出打印到终端。
输出结果
First output ... Delayed Output.
应该注意的是,输出的第二行将在4秒后打印出来。
Dart中的Futures还允许我们在then方法的帮助下注册回调。
示例
考虑下面显示的示例-
void main() { var userEmailFuture = getUserEmail(); //注册回调 userEmailFuture.then((userId) => print(userId)); print('Hello'); } //计算未来的方法 Future输出结果getUserEmail() { //模拟长时间的网络通话 return Future.delayed(Duration(seconds: 4), () => "mukul@nhooo.com"); }
Hello mukul@nhooo.com