美文网首页基础前端
封装 Promise 函数

封装 Promise 函数

作者: CondorHero | 来源:发表于2019-07-30 12:05 被阅读3次

Promise 函数在 react 中是比较常用的,函数看着挺高大上的,那么这个函数到底是怎么实现的,了解这点对 Promise 的应用会更加熟悉。

我们一起来看看。

promise 一般作为函数的 return 返回,使用 then 进行调用。下面接收 promise 发回来的结果。

function fun(){
        return new Promise((resolve,reject)=>{
            resolve("我是Promise")
        })
    }
    fun().then(res=>console.log(res));
Promise 返回结果

先来研究下 Promise 的执行机制,表面上来看是 resolve 执行了,then 里面的函数。then 才能打印出来结果,但是如果我们不写 then ,resolve 这个函数的执行是没有任何意义的,写了 then 函数才执行并打印出来结果。所以逻辑上肯定是 then 去调用 resolve 的。

现在封装:

class fun {
        constructor(resolve){
            console.log(resolve);
        }
        then(res){
            console.log(res);
        }
    }
    function read(){
        return new fun((resolve)=>{
            resolve("看到我你就成功接收了数据!")
        });
    }
    read().then((res)=>console.log(res));

上面返回两个函数,我们只需要考虑的就是,res 和 resolve 这两个函数如何进行通信。

class fun {
        constructor(resolve){
            console.log(resolve);
            this.fn = resolve;
        }
        then(res){
            console.log(res);
            this.fn(res);
        }
    }
    function read(){
        return new fun((resolve)=>{
            resolve("看到我你就成功接收了数据!")
        });
    }
    read().then((res)=>console.log(res));
接收成功

相关文章

  • 微信小程序-axios封装

    封装成promise函数

  • promise 封装get,post请求

    在uniapp中,使用promise对get,post请求进行封装 然后需要把promise封装的req函数,挂载...

  • async await

    async函数返回的都是promise对象,不是promise的会自动封装成promise对象 await前的代码...

  • 使用Promise实例 获取模拟数据

    1.定义函数getListJson函数返回一个封装了异步操作的Promise实例Promise接受一个函数作为参数...

  • 封装 Promise 函数

    Promise 函数在 react 中是比较常用的,函数看着挺高大上的,那么这个函数到底是怎么实现的,了解这点对 ...

  • Promise

    Promise对象就是一个异步请求占位符对象 把异步请求封装在Promise对象中,Promise的构造函数传入一...

  • Promise对象

    创建promise对象 上述写法等价于 结果发现没有调用就运行了!!! 封装Promise对象 调用Asy函数之前...

  • 学习过程中,总结Promise的一些知识

    1.Promise定义 (1)Promise是用来封装一个异步操作并可以获取其结果的构造函数;(2)Promise...

  • ajax请求封装

    能发起ajax请求的函数模块 函数的返回值是promise对象 进行接口请求封装

  • ES6基础之async/await及Promise来处理异步方法

    1. Promise来获取异步方法中的数据: 类似于将一个异步方法封装在一个具有回调函数的函数里,Promise实...

网友评论

    本文标题:封装 Promise 函数

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