返回介绍

总结

发布于 2024-03-01 13:04:49 字数 1746 浏览 0 评论 0 收藏 0

础知识不可忽略

这里的基础知识分为两部分,都不能忽略,都需要深入研究和思考

  • 什么是异步,异步的实现原理,event-loop,以及和事件绑定的关系。这些在最初介绍时,都讲过,不要看完了就忘记了;
  • 无论异步操作的写法如何变化,JS 还是单线程、异步执行的语言, callback 一直都存在而且发挥作用,这个在此前的章节一直强调;

异步操作代码的变化

最后我们来感受一下,从一开始 callback 方式到后来的 async-await 方式,前前后后编写异步代码的变化。从变化中就可以体会到,确实越来越简洁,越来越易读。

callback 方式

fs.readFile('some1.json', (err, data) => {
    fs.readFile('some2.json', (err, data) => {
        fs.readFile('some3.json', (err, data) => {
            fs.readFile('some4.json', (err, data) => {

            })
        })
    })
})

Promise 方式

readFilePromise('some1.json').then(data => {
    return readFilePromise('some2.json')
}).then(data => {
    return readFilePromise('some3.json')
}).then(data => {
    return readFilePromise('some4.json')
})

Generator 方式

co(function* () {
    const r1 = yield readFilePromise('some1.json')
    const r2 = yield readFilePromise('some2.json')
    const r3 = yield readFilePromise('some3.json')
    const r4 = yield readFilePromise('some4.json')
})

async-await 方式

const readFileAsync = async function () {
    const f1 = await readFilePromise('data1.json')
    const f2 = await readFilePromise('data2.json')
    const f3 = await readFilePromise('data3.json')
    const f4 = await readFilePromise('data4.json')
}

写在最后

写到这里,也没啥可写的了,这里希望大家多多按照自己的思路来思考问题吧。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文