首页 > 解决方案 > 在 Dart 上使用异步方法

问题描述

我有以下课程。

class Element {
  Future<Element> findById(var id)async {
     await networkRequest();
     return this;
  }

 Futute<Element> click() async {
    await networkRequest();
    return this;
 }
}

我想实现类似的东西。

main() async {
  var element = Element();
  await element.findyById("something").click();
}

但我不能这样做,因为 element.findById() 返回未来。如何链接这些异步方法。

标签: flutterdart

解决方案


虽然没有特殊的语法来链接期货,但有两种语义上等效的方式来做你想做的事:

1)两个单独的await调用:

await element.findById("something");
await click();

2)链接then

await element.findById("something").then(() => click());

推荐阅读