Windows应用商店消息对话框 - 关闭时继续

时间:2013-04-11 11:50:09

标签: javascript windows-8 windows-store-apps

我希望在用户点击close上的messageDialog按钮之前,该程序不会进入代码的下一行。这可能吗?

在此示例中,我希望将文档背景颜色更改为红色,直到用户单击close。在此之后它将回到白色背景。所以我希望只有当messageDialog处于活动/可见/显示状态时才会有背景的红色。

Globals["messageDialog"]("Something went wrong!", "#FF0000");

WinJS.Namespace.define("Globals", {
    messageDialog: function (string) {
        Windows.UI.Popups.MessageDialog(string).showAsync();
        document.body.style.backgroundColor = "#FF0000";
    }
});

2 个答案:

答案 0 :(得分:1)

当然,showAsync()会返回一个仅在用户关闭对话框时才会完成的承诺。所以只需编写类似

的内容
Windows.UI.Popups.MessageDialog(string).showAsync().done(function () {
    document.body.style.backgroundColor = "#FF0000";
});

答案 1 :(得分:0)

使用Await关键字

await Windows.UI.Popups.MessageDialog(string).showAsync();