var getJSON = function(url) {
var promise = new Promise(function(resolve, reject){
var client = new XMLHttpRequest();
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(new Error(this.statusText));
}
};
});
return promise;
};
getJSON("http://rap.taobao.org/mockjs/9768/Rap/get").then(function(response) {
console.log('Contents: ',response);
}, function(error) {
console.error('出错了', error);
});
ES6 Promise对象实现的Ajax操作的例子。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 写在前面的话: 由于js是单线程的,为了在浏览器的交互过程中,不阻塞,提供了异步操作的特性。但是我们在js编...
- 对象的扩展 Promise对象 含义获取异步操作的消息,提供统一的API 特点1)对象的状态不受外界影响,有三种状...
- 相信凡是写过javascript的童鞋也一定都写过回调方法(callback),简单说回调方法就是将一个方法fun...