我正在编写一些代码,一时感到困惑。尽管我能够通过其他方式解决它。我仍然缺少对实际情况的解释。这是我的代码段:
var myFlag = true;
if (anyVar == null) {
// some code
} else {
$.each(anyVar, function(key, value){
if (myDefinedId == value.id) {
swal({
title: "Warning",
text: "Are your sure?",
icon: "warning",
buttons: true,
dangerMode: true,
}).then((value) => {
if (value) {
// some code
} else {
myFlag = false;
swal("Happy Shopping!!!", {
buttons: false,
});
setTimeout(function () {
swal.close()
}, 1500);
}
});
}
});
}
if (myFlag) {
// execute this
}
我的问题是,当myDefinedId == value.id
swal
确实运行但在我发送命令确认之前,即then
之前,执行执行到最后一个if
条件,它发现myFlag
被设置为true
。
是否应该确认整个代码执行是否停止?