Flutter 当我们等待void方法时,如何在dart中运行代码

Flutter 当我们等待void方法时,如何在dart中运行代码,flutter,dart,Flutter,Dart,如何在代码中同步或异步执行secondMethod void _firstMethod() async { await _secondMethod(); } void _secondMethod() async { await _someCalculations(); }``` 从: 尽管异步函数可能会执行耗时的操作,但它不会等待这些操作。相反,异步函数仅在遇到其第一个等待表达式(详细信息)之前执行。然后它返回一个未来对象,仅在等待表达式完成后才恢复执行 \u firstMet

如何在代码中同步或异步执行
secondMethod

void _firstMethod() async {
    await _secondMethod();
}

void _secondMethod() async {
  await _someCalculations();
}```
从:

尽管异步函数可能会执行耗时的操作,但它不会等待这些操作。相反,异步函数仅在遇到其第一个等待表达式(详细信息)之前执行。然后它返回一个未来对象,仅在等待表达式完成后才恢复执行

  • \u firstMethod
    将一直同步运行到第一个
    wait
    关键字
  • 然后,它将遇到对
    \u secondMethod
    的调用
  • 同样,将调用
    \u secondMethod
    并同步运行到第一次等待,这是
    \u someCalculations
    函数
  • 将异步调用此函数,在所需时间后,它将返回其值
  • 从而完成了第二种方法的剩余部分
  • 它将返回到
    \u firstMethod
    ,最后结束它

在上面的同一链接中,您应该将async/await看作是编写看起来同步的异步代码的一种方式。这样,当需要时,您可以更容易地将其理解为线性信息流。

这是否意味着void somethod()async{}等于Future somethod()async{}?不。没有
void somethod()async{}
这样的东西。从中可以看出,当添加async关键字时,您应该修改返回值,以备将来使用。