Promise

2022-07-19  本文已影响0人  扶光_

异步编程 也是一个构造函数

那么什么是异步呢
不会影响其他的进程(如果执行程序某一个程序出错下面的程序不受影响)

new Promise(function(resolve,reject){
//resolve 一切正常执行的函数
//reject 出现错误的时候调用的函数
})

里面的两个参数实际上就是函数

promise里面的三个方法

  1. then() 可以将参数中的函数添加到当前的正常执行序列
  2. catch() 代表promise的异常处理序列
    3.finally() promise执行到最后一定会执行的序列

回调地狱

写js的时候有些情况逻辑比较复杂,嵌套比较多
回调函数的层层嵌套叫回调地狱

原生写法

var fn = function(value,callback){
          //  value是输出的内容,callback是回调
            setTimeout(function(){
                console.log(value);
                callback();
            },1000)
        }

        调用
        fn("first",function(){
            fn("second",function(){
                fn("third",function(){
                    console.log("走完了");
                })
            })
        })

promise解决回调地狱

 var fn = function(name){
            return new Promise(function(resolve,reject){
                setTimeout(function(){
                    console.log(name);
                    resolve();
                },1000)
            })
        }
        fn("first").then(function(){
            return fn("second");
        }).then(function(){
            return fn("third");
        }).then(function(){
            return fn("forth");
        }).then(function(){
            console.log("end");
        })
上一篇下一篇

猜你喜欢

热点阅读