喵喵时光机
用Promise并行吧,几个异步事件一起执行,一起拿到结果,最后完成那个完成了,才获取所有的异步返回值(集合)var a = function(){ return new Promise(function(resolve, reject){ setTimeout(function(){ resolve('a'); },2000); })}var b = function(){ return new Promise(function(resolve, reject){ setTimeout(function(){ resolve('b'); },1000); })}var c = function(){ return new Promise(function(resolve, reject){ setTimeout(function(){ resolve('c'); },3000); })}Promise.all([a(),b(),c()]).then(function(val){ console.log(val);})你如果是只要有请求完成就行,那么用竞速,最先完成的完成了就执行,返回最先完成的那个异步的值Promise.race([a(),b(),c()]).then(function(val){ console.log(val);})