dart和其他主流编程语言一样,也是支持异步编程的。
我们可以定义一个异步函数,要使用async关键字。
Future<T> asyncFunc() async {
final future = await funcB();
return future;
}
await关键字只能使用在async函数中,表示代码将会在这里阻塞,直到funcB()返回结果,这样其实就可以在async函数中定义很多的await。没错,和kotlin的协程也有异曲同工之妙,可以解决回调地狱的问题,让写法可读性更好。
future可以通过调用then()方法获取它的值T,泛型这里就不多解释了,如果不熟悉的小伙伴可以复习下java或kotlin。