异步函数是异步编程语法的终极解决方案,它可以让我们将异步代码写成同步形式,让代码不再有回调函数嵌套,使代码变得清晰明了。
基础语法:
const fn = async () => {} async function fn () {}
1 async function f1 () { 2 return ‘f1‘ 3 } 4 5 async function f2 () { 6 return ‘f2‘ 7 } 8 9 async function f3 () { 10 return ‘f3‘ 11 } 12 13 async function run () { 14 let r1 = await f1() 15 let r2 = await f2() 16 let r3 = await f3() 17 console.log(r1) 18 console.log(r2) 19 console.log(r3) 20 } 21 22 run()
示例2:
1 const fs = require(‘fs‘) 2 // 改造异步函数API,让其返回promise对象,从而支持异步函数语法 3 const promisify = require(‘util‘).promisify 4 // 调用promisify 方法改造现有异步API,让其返回promise 对象 5 const readFile = promisify(fs.readFile) 6 7 async function run () { 8 let r1 = await readFile(‘./1.txt‘, ‘utf8‘) 9 let r2 = await readFile(‘./2.txt‘, ‘utf8‘) 10 let r3 = await readFile(‘./3.txt‘, ‘utf8‘) 11 console.log(r1) 12 console.log(r2) 13 console.log(r3) 14 } 15 16 run()
原文:https://www.cnblogs.com/liea/p/11221022.html