按顺序执行2个JavaScript函数

时间:2016-01-03 13:41:43

标签: javascript jquery

我有两行功能,我希望它们按顺序执行。功能是:

showNotification(message){
    $("#notificationMessageBody").html(message); // line1
    $("#notificationModal").modal('show');       //line2
}

因此,每当我调用showNotification("Hello World!")时,我如何确保在line1之前执行line2(意味着在模态触发之前完成内容加载) 基本上,我试图在模态体中填写我的信息然后显示它,而不是在填充之前。

- 编辑 -

这些函数确实是一个接一个地执行,但是我的模态在jQuery将message加载到#notificationMessageBody

之前弹出

结果,例如:如果我打电话给showNotification("Hello")我得到一个模态"你好" (完成了模态和东西的安排),但之后如果我调用showNotification("World")模态,则出现" Hello"首先,然后改为" World"。

注意:"你好"和"世界"我相信,这些都是大量的文字,因此将其加载到我的DIV中必须花费一些时间。即使它们被一个接一个地执行,但似乎(对于普通者)首先是模态弹出然后替换完成。我希望现在的情况有点清晰。

此处的任何地方都没有涉及AJAX。基本上,这是我可以说的自定义alert()函数。我的页面中有一个带有正确ID的模态。我改变了模态体内容(使用jQuery' s .html()函数)并触发要显示的模态,如代码所示。

1 个答案:

答案 0 :(得分:3)

您可以使用.promise()方法(在jQuery 1.6中添加)来确保在第一次完成后执行第二个方法:

set1.should.have.same.items.as(set2)