promise对象表示一个异步最终执行完成(失败)的情况。promise有三种状态:pending初始化状态,fulfilled操作成功完成,rejected操作失败。
promise四种方法: promise.all();promise.race();promise.reject();promise.resolve();
var getMapData = function (type,url) {
var promise = new Promise(function (resolve,reject) {if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if(xmlHttp!=null){
xmlHttp.onreadystatechange = callBack;
xmlHttp.open(type,url);
xmlHttp.send(null);
}
function callBack () {
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
resolve(this.response);
}else {
reject(this.statusText);
}
}
}
});
return promise;
};
getMapData('get','http://192.168.1.1:8048/api')
.then(
function (result) {var mapData = JSON.parse(result);},
function (error) {console.log('出错了'+error);}
);
url查询字符串
function getSearchString(){
var str = window.location.search.slice(window.location.search.lastIndexOf("?"));
str = str.substring(1,str.length);
var arr = str.split('&');
var obj = new Object();
for(var i=0;i<arr.length;i++){
obj[arr[i].split("=")[0]]=decodeURI(decodeURI(arr[i].split("=")[1]));
}
return obj;
}
var obj = getSearchString();
var name = obj['name'];