繁体   English   中英

在 Dart 上链异步方法

[英]Chaing async method on Dart

我关注 class。

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() 返回未来。 如何链接这些异步方法。

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

1)两个单独的await调用:

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

2)与then链接:

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

用这个,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM