Promise异步编程机制一知半解

promise的诞生是为了解决callback回调异步编程的回调金字塔得出现,实现单向队列的事件排列,方便维护。

promise的事件触发基于状态,有三个状态:reslove,reject,pending分别是完成,拒绝,等待,今天看了一点点,先简单说说reslove和reject,下面看两个例子

// 同步resolve

var promise1 = new Promise(

    (resolve, reject) => {

        resolve("this is promise1 resolve");

      //定义reject内容

    }

).then(

    (msg) => {

        console.log(msg);

    },

    (err) => {

        console.log(err);

    }

);

输出结果:this is promise1 resolve

// 同步catch

var promise3 = new Promise(

    (resolve, reject) => {

        reject("this is promise3 reject catch");

    }

).then(

    (msg) => {

        // console.log(msg);

    }

).catch(

    (e) => {

        console.log(e);

    }

);

输出结果:this is promise3 reject catch

上面例子说明

1.then函数接收的参数是一个function

2.then方法可以通过链式调用

3.then和catch方法是同级的,两个返回的结果都是一个promise对象

4.如果在第一个promise中定义状态为reslove的值,那个值将会被传递到下一个promise对象作为参数。

5.因为4.所以会then会连续执行到尾

6.定义为状态reject的值传递到catch方法内定义的方法作为函数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。