ES6 Promise

ES6 promise 的一些常用方法

Promise.prototype.then()

Promise.prototype.catch()

Promise.all()

Promise.race()

Promise.resolve()

Promise.reject()

Promise.try()

var getJSON=function(url){

var promise=newPromise(function(resolve,reject{

 var   client=newXMLHttpRequest();

client.open("GET",url);

client.onreadystatechange=handler;

client.responseType="json";

client.setRequestHeader("Accept","application/json");

client.send();

function handler(){

if(this.readyState!==4)

{

return;

}

if(this.status===200{

resolve(this.response);

}else{

reject(newError(this.statusText));

}};

});

returnpromise;

};

getJSON("/posts.json").then(function(json){console.log('Contents: '+json);

},function(error){console.error('出错了',error);

});

上面代码中,getJSON是对XMLHttpRequest对象的封装,用于发出一个针对JSON数据的HTTP请求,并且返回一个Promise对象。需要注意的是,在getJSON内部,resolve函数和reject函数调用时,都带有参数。

你可能感兴趣的:(ES6 Promise)