Promise

  • exports

ES6 Promise的兼容实现,并进行了扩展。

Promise ( executor )

参数:

executorFunction(resolve,reject)
执行函数。

then ( onFulfilled , onRejected )

指定当前promise被解决后的操作。

参数:

onFulfilledFunction(value)
当前promise被满足后调用的函数。
onRejectedFunction(reason)
当前promise被拒绝后调用的函数。

返回值:

Promise以回调函数返回值解决的promise。

spread ( onFulfilled )

指定当前promise被满足后的操作,数组值会展开为回调函数的参数。

参数:

onFulfilledFunction(values*)
当前promise被满足后调用的函数。

返回值:

Promise以回调函数返回值解决的promise。

catch ( onRejected )

指定当前promise被拒绝后执行的操作。

参数:

onRejectedFunction(reason)
当前promise被拒绝后调用的函数。

返回值:

Promise以回调函数返回值解决的promise。

finally ( handler )

指定当前promise状态确定(无论被解决还是被拒绝)后执行的操作。

参数:

handlerFunction
状态确定后执行的函数。

返回值:

Promise与当前promise状态相同的新promise。

all ( promises )

  • static

返回一个表示所有指定promise解决结果的promise。

参数:

promisesArray<Promise>
指定promise。

返回值:

Promisepromise。

race ( promises )

  • static

返回一个promise,这个promise在任意一个指定promise被解决后,立刻以相同的状态被解决。

参数:

promisesArray<Promise>
指定promise。

返回值:

Promisepromise。

resolve ( value )

  • static

返回一个以指定值解决的promise。

参数:

valueAny
指定值。可以是定值、promise或者thenable。

返回值:

Promise以指定值解决的promise。

reject ( reason )

  • static

返回一个以指定原因拒绝的promise。

参数:

reasonAny
拒绝原因。

返回值:

Promise以指定原因拒绝的promise。

series ( creators )

  • static

按顺序执行指定promise。

参数:

creatorsArray<Function(value):Promise>
返回promise实例的函数数组。 函数的参数为上一个promise的值。

返回值:

Promise如果执行过程中出现拒绝状态,则返回以该状态解决的promise; 否则返回以最后一个promise的值解决的promise。

delay ( ms )

  • static

返回在指定时间后解决的promise。

参数:

msNumber
延迟时间(毫秒)。

返回值:

指定时间后解决的promise。