vue.js for循环异步请求,等所有请求返回了,再继续执行下一步请求

// urltemp是要发送请求的目标地址数组,长度等于发请求次数
let arr = [];
let that = this;
for (let i in urlTemp) {
    arr.push(
        new Promise(function(resolve, reject) {
        	// 跨域
            let realHealthyUrl = window.location.protocol + '//' + window.location.host + '//' + urlTemp[i].replace('http://', '') + '/xxxxx/health';
            axios
                .get(realHealthyUrl)
                .then(res => {
                    if (!res || !res.data || res.data.statusCode !== 'API-COMMON-INF-OK') {
                    console.log('接口调用失败')
                    } else {
                        resolve(res);
                    }
                })
                .catch(() => {
                console.log('网站无响应');
                });
        })
    );
}
Promise.all(arr).then(result => {
    this.dosomething();
});

你可能感兴趣的:(vue.js,前端,javascript)