gpt4 book ai didi

javascript - 如何仅在其他函数执行完全完成后才调用函数

转载 作者:行者123 更新时间:2023-11-28 19:36:02 24 4
gpt4 key购买 nike

在下面的代码中,我想使用siteAdmin.reloadPages()仅在存储页面属性CQ之后重新加载站点管理页面.form.SlingSubmitAction(dialog.form, config);执行成功。

以下函数提交表单,然后调用 callback() 函数,该函数又重新加载站点管理页面:

function foo(dialog, config, callback) {
var action = new CQ.form.SlingSubmitAction(dialog.form, config);
dialog.form.doAction(action);
dialog[dialog.closeAction]();

callback();
}

函数调用:

foo(dialog,action, function() {
var siteAdmin = CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
siteAdmin.reloadPages();
});

问题在于成功提交 pageProperties (dialog.form) 后,站点管理页面未重新加载。例如加载的 pageTitle 是旧值。

如何仅在表单成功提交后重新加载站点管理页面?

最佳答案

您可以尝试在配置中指定成功函数,如下所示。

function foo(dialog, config, callback) {
var action = new CQ.form.SlingSubmitAction(dialog.form, {
success: function(){
var siteAdmin = CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
siteAdmin.reloadPages();
}
});
dialog.form.doAction(action);
dialog[dialog.closeAction]();
}

这将确保仅在您请求成功后才重新加载站点管理员。

检查您的配置可用的更多选项 here .

关于javascript - 如何仅在其他函数执行完全完成后才调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25874989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com