Promise常用的API
2021-03-10 19:31
                         标签:xmlhttp   服务器   ==   ret   获取   console   cal   else   fun    1、实例方法   (1).then  得到异步任务的正确结果   (2).catch  获取异常信息   (3).finally  成功与失败都会执行  2、对象方法   (1)Promise.all()  并发处理多个异步任务,所有任务都能执行完成才能得到结果      (2)Promise.race()  并发处理多个异步任务,只要有一个任务完成就能得到结果       Promise常用的API 标签:xmlhttp   服务器   ==   ret   获取   console   cal   else   fun    原文地址:https://www.cnblogs.com/Alisa-k/p/12672870.html    
    function queryData(url) {
            return new Promise(function(resolve, reject) {
                var xhr = new XMLHttpRequest();
                xhr.onreadystatechange = function() {
                    if (xhr.readyState != 4) {
                        return;
                    }
                    if (xhr.readyState == 4 && xhr.status == 200) {
                        resolve(xhr.responseText);
                    } else {
                        reject(‘服务器错误‘);
                    }
                };
                xhr.open(‘get‘, url);
                xhr.send();
            });
        }
        var p1 = queryData(‘http://localhost:3000/a1‘);
        var p2 = queryData(‘http://localhost:3000/a2‘);
        var p3 = queryData(‘http://localhost:3000/a3‘);
        Promise.all([p1, p2, p3]).then((data) => console.log(data));
    function queryData(url) {
            return new Promise(function(resolve, reject) {
                var xhr = new XMLHttpRequest();
                xhr.onreadystatechange = function() {
                    if (xhr.readyState != 4) {
                        return;
                    }
                    if (xhr.readyState == 4 && xhr.status == 200) {
                        resolve(xhr.responseText);
                    } else {
                        reject(‘服务器错误‘);
                    }
                };
                xhr.open(‘get‘, url);
                xhr.send();
            });
        }
        var p1 = queryData(‘http://localhost:3000/a1‘);
        var p2 = queryData(‘http://localhost:3000/a2‘);
        var p3 = queryData(‘http://localhost:3000/a3‘);
        Promise.race([p1, p2, p3]).then((data) => console.log(data));