在Dart上追踪异步方法

时间:2019-11-04 06:52:41

标签: flutter 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()返回Future。如何链接这些异步方法。

3 个答案:

答案 0 :(得分:2)

虽然没有用于链接期货的特殊语法,但是有两种在语义上等效的方法可以执行所需的操作:

1)两个单独的await调用:

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

2)与then链接:

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

答案 1 :(得分:0)

使用此

await (await Element().findById("1")).click();

答案 2 :(得分:0)

final el = await element.findyById("something");
await el.click();