JavaScript 异步编程演进

异步编程演进

JavaScript 的异步编程经历了从回调地狱到优雅的 async/await 的演进。

回调时代

fs.readFile("a.txt", (err, data) => {
    fs.readFile("b.txt", (err, data) => {
        // 回调地狱...
    });
});

Promise

readFile("a.txt")
    .then(() => readFile("b.txt"))
    .then(() => readFile("c.txt"));

async/await

const a = await readFile("a.txt");
const b = await readFile("b.txt");