资讯专栏INFORMATION COLUMN

实现一个类Pormise

HollisChuang / 1152人阅读

摘要:核心代码为了精简代码,下面的实现中去掉了代码校验,这样方便小伙伴看到的核心逻辑。活不多说,直接放代码返回参数的传递这是的精髓

核心代码
为了精简代码,下面的Promise实现中去掉了代码校验,这样方便小伙伴看到Promise的核心逻辑。ES6语法。

活不多说,直接放代码

class PromiseTest {
    executor = (resolve, reject) => {
    }

    constructor(executor) {
        this.executor = executor;
    }

    then(sucess, error) {
        let flag = true;
        let resolveV;
        let rejectV;
        const resolve = (value) => {
            flag = true;
            resolveV =  sucess(value);
        };
        const reject = (value) => {
            flag = false;
            rejectV = error(value);
        };
        this.executor(resolve, reject);
        // onfulfilled onrejected返回参数的传递  这是promise的精髓           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101421.html

相关文章

  • Build Your Own Promise

    摘要:意味着代指的操作由于某些原因失败。第一步构造函数有三种状态,。这个构造函数我们可以先这样写创建一个时,首先进行状态初始化。所有的都是的,而并不是所有的对象都是。 一、JavaScript异步编程背景 ​ 从去年ES2015发布至今,已经过去了一年多,ES2015发布的新的语言特性中最为流行的也就莫过于Promise了,Promise使得如今JavaScript异步编程如此轻松惬意...

    susheng 评论0 收藏0
  • 啥?喝着阔落吃着西瓜就把Promise手写出来了???

    摘要:嗝首先,我们通过字面可以看出来是一种解决方案,而且还有两种传统的解决方案回调函数和事件,,那么我们就来先聊聊这两种方案。 前言 虽然今年已经18年,但是今天还是要继续聊聊ES6的东西,ES6已经过去几年,可是我们对于ES6的语法究竟是掌握了什么程度,是了解?会用?还是精通?相信大家和我一样都对自己有着一个提升的心,对于新玩具可不能仅仅了解,对于其中的思想才是最吸引人的,所以接下来会通过...

    idisfkj 评论0 收藏0
  • JavaScript 事件循环

    摘要:总而言之,检查调用栈是否为空,以及确定把哪个异步任务加入调用栈的这个过程就是事件循环,而实现异步的核心就是事件循环。 js是一门单线程的语言,不可能进行多线程编程,异步编程就是多线程编程一种模式,但是我们经常讲到js的异步编程,其实是伪异步,因为它是单线程的,也就是同步,只有前面的代码执行完才能执行下面的代码。所以要理解js中的异步理念,就需要了解js的运行核心--事件循环(Event...

    kbyyd24 评论0 收藏0
  • 如何正确的使用Promise

    摘要:那如何使用进行异步回调如何捕获错误声明函数使用则返回使用则返回错误,并结束的继续向下执行,并会跳到执行过了秒后接收到值返回值可以是数字,字串,对象或者是获得上一个返回的值或返回的的返回值如用到,则会直接跳到此处 promise用法 对比传统回调函数与Pormise的写法 传统回调函数 // 声明函数 function run(callback) { let parmas = 0...

    SwordFly 评论0 收藏0
  • 20190611-对async和await的一点理解

    摘要:异步函数是指通过事件循环异步执行的函数,它会通过一个隐式的返回其结果。返回值返回对象的处理结果。当请求必须要请求完成后,才能根据请求的结果,进行是否继续请求的时候根据所有请求完成后,进行统计请求成功失败数量等异步操作最后的回调 首先看下这段代码: async function submit(){ console.log(请求开始!) let data = aw...

    xiaolinbang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<