我一直在阅读 javascript 是单线程的,在某些特殊情况下也可以是异步的。不知何故,我有一段代码我不明白为什么会有这种行为,似乎与这种罪孽深重的想法相矛盾。
我有一个按钮,当它被点击时,我想打开一个确认对话框,如果没问题,我会在之后执行表单的 $.post() 。这是我在按钮的 onclick 事件中使用的函数:
function bconfirm(text)
{
var res;
bootbox.confirm(text, function(result) {
res = result;
alert("first");
});
alert("second");
return res;
}
有人能告诉我为什么总是在“第一”之前打印“第二”吗?在bootbox.confirm之前调用它,然后在 main 函数的其余部分调用它不应该是合乎逻辑的吗?谢谢。