在Fabric Tx的执行函数中使用了大量的异步函数async,因此将其内容简单总结一下:
异步函数的概念
异步函数是与同步函数相对的一种函数;
(1)同步函数:具有顺序性,当调用函数的未返回值前不能执行后续行为;
(2)异步函数:无顺序性,调用的函数会立即返回,不影响执行后续的行为,其中调用函数的真实执行情况是在另一个线程中发生;
async function asyncLoadData (url) {
let dataOne = await loadData (url)
}
上述是一个异步获取数据的方法,且返回一个promise对象;
async 语法
(1)
async function asyncFunction() {
return 'succeed!'
}
test().then( resolved => console.log(resolved) )
output:
succeed!
asyncFunction会得到一个promise对象,可以添加一个回调函数
通过then来添加回调函数,而其参数就是return的结果;
(2)另外,通过catch,then,try..catch三种方法可以捕捉到函数内部的错误;
(3)await命令
await只能在async函数内使用,否则会报错;
async Function asyncAwait() {
let a = await stepOne()
let b = await stepTwo()
...
}
await是继发执行的,即先执行完stepOne 才会执行stepTwo。这种方法普遍用于后续的执行依赖stepOne的结果时。
(4)有些执行不需要继发执行时,可用await. promiseAll()方法
let [a,b] = await promiseAll.([fun1(),fun2()])
版权声明:本文为lyz_707原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。