我看到很多人的代码在函数主体中使用async
关键字,而在函数主体中却没有await
关键字。即使是一些官方的例子示例代码也可以做到这一点。我不知道为什么。有什么意义?这是一个错误还是有目的?通常,我只是从这些代码中删除async
关键字,所有内容都会正常运行。一些飞镖专家可以澄清一下,如果某个功能的目的是带有async
关键字但没有await
关键字?还是这只是他们的错误?非常感谢。
答案 0 :(得分:3)
JSON=$(curl ${URL})
#Test1
PARAM=$(JSON | jq -r '.param_one.val')
#Test2
PARAM=$( echo jq -r '.param_one.val' << "${JSON}" )
echo $PARAM #display result
有时用于简化代码。
以下是一些示例:
DATEDIFF()
答案 1 :(得分:0)
根据official Dart Language tour,async
同步执行,直到找到await
关键字:
注意:尽管异步功能可能会执行耗时的操作,但它不会等待这些操作。取而代之的是,异步函数仅在遇到第一个等待表达式(details)之前执行。然后,它返回一个Future对象,仅在await表达式完成后才恢复执行。