美文网首页
异步的处理方案

异步的处理方案

作者: 钱学敏 | 来源:发表于2018-05-28 23:43 被阅读0次

异步处理方案的几个阶段

const fs = require('fs')

//第一阶段 回调函数
function readFile(cb) {
    fs.readFile('./package.json', (err, data) => {
        if (err) return cb(err)

        cb(null, data)
    })
}
readFile((err, data) => {
    if (!err) {
        data = JSON.parse(data)

        console.log('第一阶段', data.name)
    }
})


//第二阶段  Promise

function readFileAsync(path) {
    return new Promise((resolve, reject) => {
        fs.readFile(path, (err, data) => {
            if (err) reject(err)
            else resolve(data)
        })
    })
}

readFileAsync('./package.json').then(data => {
    data = JSON.parse(data)

    console.log('第二阶段', data.name)
}).catch(err => {
    console.log(err)
})


//第三阶段 co + util.promisify + generator函数
const co = require('co') //jt
const util = require('util')
co(function*() {
    let data = yield util.promisify(fs.readFile)('./package.json')

    data = JSON.parse(data)

    console.log('第三阶段', data.name)
})



//第四阶段 Async 
const readAsync = util.promisify(fs.readFile)
async function init() {
    let data = await readAsync('./package.json')
    data = JSON.parse(data)
    console.log('第四阶段', data.name)
}

init()

相关文章

  • 异步的处理方案

    异步处理方案的几个阶段

  • Learn async/await

    JavaScript的异步处理方案由最初让人头疼的callback hell,到ES6加入了抽象异步处理对象的Pr...

  • JavaScript 异步操作进阶第三步:async 函数

    一、含义 在早期,ES6 最初的异步处理方案引入 Promise 对象,后经过升级成更好的异步编程解决方案:Gen...

  • JS异步编程(3)-Promise

    Promise 是 JS 异步编程中的重要概念,异步抽象处理对象,是目前比较流行的异步编程解决方案之一。主要解决了...

  • 实战解析 | 同步音视频解决方案

    目前,国内大部分云厂商大多都提供音视频异步处理解决方案,使用中,音视频异步处理任务需要排队并且处理时间过长。当音视...

  • 对promise的理解?

    Promise是解决异步编程的方案;promise是为解决异步处理回调金字塔问题而产生的 resolve函数的作用...

  • Promise对象

    Promise 是异步编程的一种解决方案,把异步处理对象和处理规则进行规范化 优点:避免了多层嵌套的回调、提供了统...

  • Promise实现原理

    Promise概述 是异步编程解决方案,本质上讲是callback的变相处理,使得代码更加优雅和可扩展; 异步发展...

  • 公众号关注自动回复

    方案 同步方案:微信将消息发来后即可返回,返回的消息即是用户关注后自动回复的内容 异步方案将消息放入队列进行处理,...

  • JS异步-解决方法简述

    介绍三种异步处理方案: 回调函数(callback)promiseasync/await 回调函数(callbac...

网友评论

      本文标题:异步的处理方案

      本文链接:https://www.haomeiwen.com/subject/vjonjftx.html