js foreah 循环无法跳出

需求是:foreach循环出每个element,if判断element是否符合需求,如果不符合直接停止不执行后面的代码

  一开始直接用return 结果测试发现无效,后面的代码还是会一直执行

  break也无效

 

解决 try{}catch{}捕获异常

  如果if判断位false直接抛出异常,在catch里return

function addLogistics() {
                try {
                    var selectRows = $("#bootstrap-table").bootstrapTable('getSelections');
                    selectRows.forEach(element => {
                       
                        if (element.orderPayStatus != 2 || element.orderDeliveryStatus != 1) {
                            $.modal.alertWarning("选中订单含有未支付或已发货订单,不能发货!");
                            throw new Error("End")
                        }
                    });
                } catch (error) {
                    return;
                }
                table.set();
                var arrays = $.table.selectColumns("orderId");
                console.log(arrays);
                var logisticsUrl = prefix + "/logistics" +"?orderIds="+ arrays +"&length="+ arrays.length;
                $.modal.open("批量发货", logisticsUrl);
            }
posted @ 2020-05-26 10:14  ```天真有邪  阅读(126)  评论(0编辑  收藏  举报