自己动手写cpu pdf

您所在的位置:网站首页 自己动手做cpu 自己动手写cpu pdf

自己动手写cpu pdf

2022-05-27 14:07| 来源: 网络整理| 查看: 265

这段时间在学习Promise,但始终不得要领。为了更好地理解Promise,我决定自己实现一个简易版的Promise,以学习Promise工作原理。该工程名为ToyPromise,仓库地址如下:

https://github.com/pandengyang/toypromise.git

ToyPromise包含了以下属性和方法:

3e5a93af5ee1bb61e5422cfd57589064.png

首先,看一下ToyPromise构造函数,代码如下:

function ToyPromise(resolver, name) { this._status = "pending"; this._name = name; this._fullfilled = function dummyFullfilled(value) { return value; }; this._rejected = function dummyRejected(error) { throw error; }; resolver(this._resolve.bind(this), this._reject.bind(this));}

构造函数先进行了一系列的初始化,包括名称、状态、默认的完成/拒绝回调函数,代码如下:

this._status = "pending"; this._name = name; this._fullfilled = function dummyFullfilled(value) { return value; }; this._rejected = function dummyRejected(error) { throw error; };

默认的完成回调函数将完成值重新返回;默认的拒绝回调函数将拒绝原因重新抛出。

初始化后,构造函数立即执行用户传递的resolver函数,并将_resolve和_reject方法传递给resolver。

resolver(this._resolve.bind(this), this._reject.bind(this));

resolver在决议/拒绝该ToyPromise时会调用该ToyPromise的_resolve/_reject方法。代码如下:

var A = new ToyPromise(function resolver(resolve, reject) { var number = Math.random(); if (number


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3