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...