[APICloud | APP开发技巧]api.ajax请求耗时测试用例
很多开发者对api.ajax请求效率存在疑问,移动应用开发平台APICloud 为大家提供了较为公正的测试代码,通过api.ajax和标准的xmlHttpRequest请求同一个url进行对比:
1. //当前系统时间戳,毫秒
2.
function curtime(){
3.
return new Date().getTime();
4.
}5.
6.
var ajaxurl = '';7.
//api.ajax请求,无跨域问题8.
function GetRequest(){9.
var starttime = curtime();10.
api.ajax({11.
url: ajaxurl,12.
dataType:'text',13.
cache: true14.
}, function (ret, err) {15.
if (ret) {16.
alert('用时:' + (curtime() - starttime) + "毫秒\n请求结果:\n" + JSON.stringify(ret));17.
} else {18.
alert('出错了!\n' + '网络状态码:' + err.statusCode + '\n错误码:' + err.code + '\n错误信息:' + err.msg);19.
}20.
});21.
}22.
23.
//标准xmlHttpRequest,可能会有跨域问题24.
function GetxmlRequest(){25.
var starttime = curtime();26.
var xhr = new xmlHttpRequest();27.
xhr.onreadystatechange = function(){28.
if(xhr.readyState == 4){29.
if(xhr.status == 200){30.
alert('用时:' + (curtime() - starttime) + "毫秒\n请求结果:\n" + xhr.responseText);31.
}else{32.
alert('请求失败:\n状态码:' + xhr.status + "\n结果:" + xhr.responseText);33.
}34.
}35.
}36.
xhr.open('GET', ajaxurl, true);37.
xhr.send(null);38.
}
复制代码
通过弹出的对话框可以很明显的看出,在同样网络环境下,两者并无差别,在许多内部业务的服务器场景下,api.ajax甚至更快。上述代码由移动应用开发平台APICloud开发者“常山赵子云”原创提供,欢迎转载和使用!