Promise.all 并发发起多个请求

async function fetchAll(Aqtype, ParamType) {
        const urls = [];
        let Citys = ["武汉", "黄石", "十堰", "宜昌", "襄阳", "鄂州", "荆门", "孝感", "荆州", "黄冈", "咸宁", "随州", "恩施", "仙桃", "潜江", "天门", "神农架"];
        for (var item of Citys) {
            urls.push(`http://ip:port/api/MobileApp/OverplusParamVolConcV2?City=${item}&Aqtype=${Aqtype}&ParamType=${ParamType}`);
        }

        // 并发发起多个请求
        const promises = urls.map(url => fetch(url));

        // 等待所有请求完成
        const results = await Promise.all(promises);

        // 处理请求结果
        return Promise.all(results.map(response => response.json()));
    }

    // 使用异步函数
    async function fecth(Aqtype, ParamType) {
        try {
            debugger
            const data = await fetchAll(Aqtype, ParamType);
            debugger
            SYRLData = data;
            if (SYRLData) {
                //17个城市的数据
                //createTable(SYRLData);
                var arr = [];
                var WH = SYRLData[0];
                var HS = SYRLData[1];
                var SY = SYRLData[2];
                var YC = SYRLData[3];
                var XY = SYRLData[4];
                var EZ = SYRLData[5];
                var JM = SYRLData[6];
                var XG = SYRLData[7];
                var JZ = SYRLData[8];
                var HG = SYRLData[9];
                var XN = SYRLData[10];
                var SZ = SYRLData[11];
                var ES = SYRLData[12];
                var XT = SYRLData[13];
                var QJ = SYRLData[14];
                var TM = SYRLData[15];
                var SNJ = SYRLData[16];

                //start = $('#hbeginTime').datebox('getValue') + ' ' + $('#hour1').combobox('getValue') + ':00:00';
                //end = $('#hendTime').datebox('getValue') + ' ' + $('#hour2').combobox('getValue') + ':00:00';
                var endhour = $('#hour2').combobox('getValue')
                for (var i = 1; i <= endhour; i++) {
                    var obj = {
                        QueryTime: "", WH: "", HS: "", SY: "", YC: "", XY: "", EZ: "", JM: "", XG: "", JZ: "", HG: "", XN: "", SZ: "", ES: "", XT: "", QJ: "", TM: "", SNJ: ""
                    };
                    var time = $('#hbeginTime').datebox('getValue') + ' ' + padWithZeros(i, 2) + ':00:00';
                    obj.QueryTime = time;
                    obj.WH = WH.filter((item, index) => { return item.QueryTime == time })[0].武汉;
                    obj.HS = HS.filter((item, index) => { return item.QueryTime == time })[0].黄石;
                    obj.SY = SY.filter((item, index) => { return item.QueryTime == time })[0].十堰;
                    obj.YC = YC.filter((item, index) => { return item.QueryTime == time })[0].宜昌;
                    obj.XY = XY.filter((item, index) => { return item.QueryTime == time })[0].襄阳;
                    obj.EZ = EZ.filter((item, index) => { return item.QueryTime == time })[0].鄂州;
                    obj.JM = JM.filter((item, index) => { return item.QueryTime == time })[0].荆门;
                    obj.XG = XG.filter((item, index) => { return item.QueryTime == time })[0].孝感;
                    obj.JZ = JZ.filter((item, index) => { return item.QueryTime == time })[0].荆州;
                    obj.HG = HG.filter((item, index) => { return item.QueryTime == time })[0].黄冈;
                    obj.XN = XN.filter((item, index) => { return item.QueryTime == time })[0].咸宁;
                    obj.SZ = SZ.filter((item, index) => { return item.QueryTime == time })[0].随州;
                    obj.ES = ES.filter((item, index) => { return item.QueryTime == time })[0].恩施;
                    obj.XT = XT.filter((item, index) => { return item.QueryTime == time })[0].仙桃;
                    obj.QJ = QJ.filter((item, index) => { return item.QueryTime == time })[0].潜江;
                    obj.TM = TM.filter((item, index) => { return item.QueryTime == time })[0].天门;
                    obj.SNJ = SNJ.filter((item, index) => { return item.QueryTime == time })[0].神农架;

                    arr.push(obj);
                    if (i == endhour) {
                        obj = {
                            QueryTime: "", WH: "", HS: "", SY: "", YC: "", XY: "", EZ: "", JM: "", XG: "", JZ: "", HG: "", XN: "", SZ: "", ES: "", XT: "", QJ: "", TM: "", SNJ: ""
                        };
                        obj.QueryTime = "当前小时均值";
                        obj.WH = WH.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].武汉;
                        obj.HS = HS.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].黄石;
                        obj.SY = SY.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].十堰;
                        obj.YC = YC.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].宜昌;
                        obj.XY = XY.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].襄阳;
                        obj.EZ = EZ.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].鄂州;
                        obj.JM = JM.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].荆门;
                        obj.XG = XG.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].孝感;
                        obj.JZ = JZ.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].荆州;
                        obj.HG = HG.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].黄冈;
                        obj.XN = XN.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].咸宁;
                        obj.SZ = SZ.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].随州;
                        obj.ES = ES.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].恩施;
                        obj.XT = XT.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].仙桃;
                        obj.QJ = QJ.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].潜江;
                        obj.TM = TM.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].天门;
                        obj.SNJ = SNJ.filter((item, index) => { return item.QueryTime == "当前小时均值" })[0].神农架;
                        arr.push(obj);

                        obj = {
                            QueryTime: "", WH: "", HS: "", SY: "", YC: "", XY: "", EZ: "", JM: "", XG: "", JZ: "", HG: "", XN: "", SZ: "", ES: "", XT: "", QJ: "", TM: "", SNJ: ""
                        };
                        obj.QueryTime = "当前累计总量";
                        obj.WH = WH.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].武汉;
                        obj.HS = HS.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].黄石;
                        obj.SY = SY.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].十堰;
                        obj.YC = YC.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].宜昌;
                        obj.XY = XY.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].襄阳;
                        obj.EZ = EZ.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].鄂州;
                        obj.JM = JM.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].荆门;
                        obj.XG = XG.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].孝感;
                        obj.JZ = JZ.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].荆州;
                        obj.HG = HG.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].黄冈;
                        obj.XN = XN.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].咸宁;
                        obj.SZ = SZ.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].随州;
                        obj.ES = ES.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].恩施;
                        obj.XT = XT.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].仙桃;
                        obj.QJ = QJ.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].潜江;
                        obj.TM = TM.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].天门;
                        obj.SNJ = SNJ.filter((item, index) => { return item.QueryTime == "当前累计总量" })[0].神农架;
                        arr.push(obj);

                        obj = {
                            QueryTime: "", WH: "", HS: "", SY: "", YC: "", XY: "", EZ: "", JM: "", XG: "", JZ: "", HG: "", XN: "", SZ: "", ES: "", XT: "", QJ: "", TM: "", SNJ: ""
                        };
                        var type = "保良余量";
                        if (baoType == "保中度") {
                            type = "保中度余量";
                        } else if (baoType == "保轻度") {
                            type = "保轻度余量";
                        }
                        obj.QueryTime = type;
                        obj.WH = WH.filter((item, index) => { return item.QueryTime == type })[0].武汉;
                        obj.HS = HS.filter((item, index) => { return item.QueryTime == type })[0].黄石;
                        obj.SY = SY.filter((item, index) => { return item.QueryTime == type })[0].十堰;
                        obj.YC = YC.filter((item, index) => { return item.QueryTime == type })[0].宜昌;
                        obj.XY = XY.filter((item, index) => { return item.QueryTime == type })[0].襄阳;
                        obj.EZ = EZ.filter((item, index) => { return item.QueryTime == type })[0].鄂州;
                        obj.JM = JM.filter((item, index) => { return item.QueryTime == type })[0].荆门;
                        obj.XG = XG.filter((item, index) => { return item.QueryTime == type })[0].孝感;
                        obj.JZ = JZ.filter((item, index) => { return item.QueryTime == type })[0].荆州;
                        obj.HG = HG.filter((item, index) => { return item.QueryTime == type })[0].黄冈;
                        obj.XN = XN.filter((item, index) => { return item.QueryTime == type })[0].咸宁;
                        obj.SZ = SZ.filter((item, index) => { return item.QueryTime == type })[0].随州;
                        obj.ES = ES.filter((item, index) => { return item.QueryTime == type })[0].恩施;
                        obj.XT = XT.filter((item, index) => { return item.QueryTime == type })[0].仙桃;
                        obj.QJ = QJ.filter((item, index) => { return item.QueryTime == type })[0].潜江;
                        obj.TM = TM.filter((item, index) => { return item.QueryTime == type })[0].天门;
                        obj.SNJ = SNJ.filter((item, index) => { return item.QueryTime == type })[0].神农架;
                        arr.push(obj);

                        obj = {
                            QueryTime: "", WH: "", HS: "", SY: "", YC: "", XY: "", EZ: "", JM: "", XG: "", JZ: "", HG: "", XN: "", SZ: "", ES: "", XT: "", QJ: "", TM: "", SNJ: ""
                        };

                        type = "小时保良浓度";
                        if (baoType == "保中度") {
                            type = "小时保中度浓度";
                        } else if (baoType == "保轻度") {
                            type = "小时保轻度浓度";
                        }
                        obj.QueryTime = type;
                        obj.WH = WH.filter((item, index) => { return item.QueryTime == type })[0].武汉;
                        obj.HS = HS.filter((item, index) => { return item.QueryTime == type })[0].黄石;
                        obj.SY = SY.filter((item, index) => { return item.QueryTime == type })[0].十堰;
                        obj.YC = YC.filter((item, index) => { return item.QueryTime == type })[0].宜昌;
                        obj.XY = XY.filter((item, index) => { return item.QueryTime == type })[0].襄阳;
                        obj.EZ = EZ.filter((item, index) => { return item.QueryTime == type })[0].鄂州;
                        obj.JM = JM.filter((item, index) => { return item.QueryTime == type })[0].荆门;
                        obj.XG = XG.filter((item, index) => { return item.QueryTime == type })[0].孝感;
                        obj.JZ = JZ.filter((item, index) => { return item.QueryTime == type })[0].荆州;
                        obj.HG = HG.filter((item, index) => { return item.QueryTime == type })[0].黄冈;
                        obj.XN = XN.filter((item, index) => { return item.QueryTime == type })[0].咸宁;
                        obj.SZ = SZ.filter((item, index) => { return item.QueryTime == type })[0].随州;
                        obj.ES = ES.filter((item, index) => { return item.QueryTime == type })[0].恩施;
                        obj.XT = XT.filter((item, index) => { return item.QueryTime == type })[0].仙桃;
                        obj.QJ = QJ.filter((item, index) => { return item.QueryTime == type })[0].潜江;
                        obj.TM = TM.filter((item, index) => { return item.QueryTime == type })[0].天门;
                        obj.SNJ = SNJ.filter((item, index) => { return item.QueryTime == type })[0].神农架;
                        arr.push(obj);
                    }
                }

                debugger
                $('#dgData').datagrid('options').pageNumber = 1;
                $('#dgData').datagrid('loadData', arr);
            }
        } catch (error) {
            console.error('An error occurred:', error);
        }
    }

// 给背景添加颜色
    function flagColor(val, row, index) {
        debugger
        if (row.QueryTime.includes("均值")) {
            return ``;
        }
        if (row.QueryTime.includes("总量")) {
            return ``;
        }
        if (row.QueryTime.includes("余量")) {
            if (baoType == "保中度") {
                return `background:#FF0000`;
            } else if (baoType == "保轻度") {
                return `background:#FF7E00`;
            } else {
                return `background:#FFFF00`;
            }
        }
        if (row.QueryTime.includes("浓度")) {
            if (baoType == "保中度") {
                return `background:#FF0000`;
            } else if (baoType == "保轻度") {
                return `background:#FF7E00`;
            } else {
                return `background:#FFFF00`;
            }
        }
        var color;
        if (param == "PM25") {
             color = getbgColor(val, "PM2.5");
        } else {
             color = getbgColor(val, param);
        }
        return `background:${color}`;
    }

调用      fecth("保良", “PM10”);

效果如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值