用promise封装原生ajax请求
2017-07-24 00:00
218 查看
// 简单的ajax原生实现
var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';
var result;
var XHR = new XMLHttpRequest();
XHR.open('GET', url, true);
XHR.send();
XHR.onreadystatechange = function() {
if (XHR.readyState == 4 && XHR.status == 200) {
result = XHR.response;
console.log(result);
}
}
var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';
// 封装一个get请求的方法
function getJSON(url) {
return new Promise(function(resolve, reject) {
var XHR = new XMLHttpRequest();
XHR.open('GET', url, true);
XHR.send();
XHR.onreadystatechange = function() {
if (XHR.readyState == 4) {
if (XHR.status == 200) {
try {
var response = JSON.parse(XHR.responseText);
resolve(response);
} catch (e) {
reject(e);
}
} else {
reject(new Error(XHR.statusText));
}
}
}
})
}
getJSON(url).then(res => console.log(res));
var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';
var result;
var XHR = new XMLHttpRequest();
XHR.open('GET', url, true);
XHR.send();
XHR.onreadystatechange = function() {
if (XHR.readyState == 4 && XHR.status == 200) {
result = XHR.response;
console.log(result);
}
}
var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';
// 封装一个get请求的方法
function getJSON(url) {
return new Promise(function(resolve, reject) {
var XHR = new XMLHttpRequest();
XHR.open('GET', url, true);
XHR.send();
XHR.onreadystatechange = function() {
if (XHR.readyState == 4) {
if (XHR.status == 200) {
try {
var response = JSON.parse(XHR.responseText);
resolve(response);
} catch (e) {
reject(e);
}
} else {
reject(new Error(XHR.statusText));
}
}
}
})
}
getJSON(url).then(res => console.log(res));
相关文章推荐
- 原生JS封装的ajax请求
- 【原生js】js面向对象三大特征之封装笔记
- 原生JavaScript实现Ajax(三):ajax函数的最终封装
- ReactNative学习笔记之调用原生模块(进阶)之Callback、Promise使用
- 使用Require.js封装原生js轮播图的实现代码
- 原生js事件的添加和删除的封装
- [JavaScript][AJAX][JQuery]利用回调接口封装AJAX类|原生JavaScript的AJAX写法优化
- 原生ajax封装(自学简单版)
- 原生js封装ajax方法
- 原生Javascript封装的一些常用函数
- node中异步处理Promise封装调用
- React Native 封装原生UI组件并使用的流程(iOS)
- React Native 原生模块封装、发布、调用
- 原生JS封装Ajax插件(同域&&jsonp跨域)
- 原生js ajax简单封装和使用
- 【转】封装原生JS实现Ajax
- 将ajax请求封装为一个对象(原生js)
- js原生ajax请求
- 原生JS封装class操作取增删
- React Native封装Android原生控件