var ret=[]; for(i=0;i<6;i++){ ajax(/**/).sucess(function(res){ret.push(res)}); } console.log(ret);今天项目中遇到一个问题,就是同时要执行多个ajax请求,然后在汇总结果,但是由于js是异步的,还没请求完就汇总结果了,怎么办?
网友回复
可以实现promise实现,promise可以很优雅地实现并行和串行执行方式
var ret=new Array(); /** * 创建promise * @param {Number} value */ function makePromise (value) { return new Promise((resolve) => { $.ajax(success(function(res){ ret.push(res); resolve(value); })); }) } let promises = [1, 3, 4, 5, 6].map((item, index) => { return makePromise(i...
点击查看剩余70%