8
8
- 设定三个状态 ` PENDING、FULFILLED、REJECTED ` ,只能由` PENDING ` 改变为` FULFILLED、REJECTED ` ,并且只能改变一次
9
9
- ` MyPromise ` 接收一个函数` executor ` ,` executor ` 有两个参数` resolve ` 方法和` reject ` 方法
10
10
- ` resolve ` 将` PENDING ` 改变为` FULFILLED `
11
- - ` reject ` 将` PENDING ` 改变为` FULFILLED `
11
+ - ` reject ` 将` PENDING ` 改变为` REJECTED `
12
12
- ` promise ` 变为` FULFILLED ` 状态后具有一个唯一的` value `
13
13
- ` promise ` 变为` REJECTED ` 状态后具有一个唯一的` reason `
14
14
93
93
onFulfilled (this .value );
94
94
break ;
95
95
case REJECTED :
96
- onFulfilled (this .value );
96
+ onRejected (this .value );
97
97
break ;
98
98
case PENDING :
99
99
this .onFulfilledCallbacks .push (() => {
@@ -269,7 +269,7 @@ MyPromise.prototype.finally = function(fn) {
269
269
` Promise.resolve ` 用来生成一个直接处于` FULFILLED ` 状态的Promise。
270
270
271
271
``` js
272
- MyPromise .reject = function (value ) {
272
+ MyPromise .resolve = function (value ) {
273
273
return new MyPromise ((resolve , reject ) => {
274
274
resolve (value);
275
275
});
@@ -295,7 +295,7 @@ MyPromise.reject = function(reason) {
295
295
296
296
``` js
297
297
MyPromise .all = function (promises ) {
298
- return new Promise ((resolve , reject ) => {
298
+ return new MyPromise ((resolve , reject ) => {
299
299
if (promises .length === 0 ) {
300
300
resolve ([]);
301
301
} else {
@@ -325,11 +325,10 @@ MyPromise.reject = function(reason) {
325
325
326
326
``` js
327
327
MyPromise .race = function (promises ) {
328
- return new Promise ((resolve , reject ) => {
328
+ return new MyPromise ((resolve , reject ) => {
329
329
if (promises .length === 0 ) {
330
330
resolve ();
331
331
} else {
332
- let index = 0 ;
333
332
for (let i = 0 ; i < promises .length ; i++ ) {
334
333
promises[i].then (data => {
335
334
resolve (data);
0 commit comments