961

1、promise可以处于等待被赋值的等待态(pending),可以给出值并转换为解决态(resolved)。

2、一旦promise被一个值resolve丢失,它将始终保持这个值不再被resolve丢失。

实例

functionPromise(fn){
varstate='pending';
varvalue;
vardeferred;

functionresolve(newValue){
value=newValue;
state='resolved';

if(deferred){
handle(deferred);



functionhandle(onResolved){
if(state==='pending'){
deferred=onResolved;
return;


onResolved(value);


this.then=function(onResolved){
handle(onResolved);
;

fn(resolve);
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。