美文网首页
es6(回调地狱)

es6(回调地狱)

作者: 余生筑 | 来源:发表于2017-10-24 20:20 被阅读233次

如果有多个异步操作,就存在一个流程控制的问题:确定操作执行的顺序,以后如何保证遵守这种顺序。

比如

function async(arg, callback) {
  callback(arg * 2);
}
function final(value) {
  console.log('完成: ', value);
}

问题:如何借助async()得到128?

  • 回调函数嵌套
async(1,function(data)
        { 
            async(data,function(data)
            {
                async(data,function(data)
                {
                    async(data,function(data)
                    {
                        async(data,function(data)
                        {
                            async(data,function(data)
                            {
                                async(data,function(data)
                                {
                                    final(data)
                                })
                            })
                        })
                    })
                })
            })
        })//完成:  128
  • 用promise优化上述代码
let async=(data)=>new Promise((resolve,reject)=>{           
                return resolve(data*2)
            })

        let final=value=>{
            console.log('完成: ', value);
        }
        async(1)
        .then(async)
        .then(async)
        .then(async)
        .then(async)
        .then(async)
        .then(async)
        .then(final);

相关文章

  • promise和async

    Promise 回调地狱 Promise概念 Promise是ES6中新增的一个构造函数。 目的解决回调地狱的问题...

  • 10 ES6 优化回调地狱、promise化、async+awa

    ES6 Promise可解决回调地狱、try{}catch{}、同步并发的异步问题,但解决回调地狱问题中依旧有很明...

  • es6(回调地狱)

    如果有多个异步操作,就存在一个流程控制的问题:确定操作执行的顺序,以后如何保证遵守这种顺序。 比如 问题:如何借助...

  • Promise 解决回调地狱问题

    需求: 封装一个根据文件名读取文件内容的方法,然后依次读取三个文件 问题,回调嵌套太深,回调地狱 使用 es6 中...

  • Promise初体验

    ES6中推出了一种新的异步编程的方案,可以解决回调嵌套过深(俗称回调地狱)导致阅读性差,难以维护的问题,如下: 先...

  • Promise

    1.为什么需要Promise 回调地狱回调函数中嵌套回调Promise解决了回调地狱 2. Promise 的基本...

  • 回调地狱问题

    使用promise(es6中api)来解决回调地狱的问题。promise1、promise本身不是异步任务但是内部...

  • Promise

    什么是回调地狱 多层回调函数的相互嵌套,就形成了回调地狱 回调地狱的缺点: 代码耦合性太强,牵一发而动全身,难以维...

  • Promise.all 的缺陷

    前言 Promise 是 es6 新出的语法,用来处理异步请求,解决之前没有 Promise 时的回调地狱。Pro...

  • 前端知识总结——ES6重难点

    Promise实现 promise是ES6新增的语法,解决回调地狱问题 可以把 Promise 看成一个状态机,它...

网友评论

      本文标题:es6(回调地狱)

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