我的问题如下。
我有一个处于分支模式的向导。在完成向导的一个步骤时,会调用complete方法。在这个方法中,我向后端发送一个OData调用,以确定应该显示的NextStep。因此,调用将返回尚未定义的NextStep,并且框架将崩溃,并出现未定义NextStef的错误。
那么,有没有一种方法可以在不破坏框架的情况下暂停/等待/睡眠OData调用的返回?
我将感谢您的帮助。谢谢
示例XML:
<Wizard id="MainWizard" complete="wizardCompletedHandler" enableBranching="true">
<WizardStep id="Step1" title="title" validated="true" subsequentSteps="Step2, Step3" complete="onStepOneComplete"
icon="sap-icon://multi-select">
StepOneComplete:示例
onStepOneComplete: function(oEvent) {
this.getView().getModel().submitChanges();
var iNextStep = parseInt(this.getView().getModel().getProperty("/SomeSet('123')/NextStep"), 10);
this.byId("Step1").setNextStep(iNextStep);
}
尝试使用submitChanges
的"success"回调
类似于:
onStepOneComplete: function(oEvent) {
var that = this; // needed to keep "this" object in callback
this.getView().getModel().submitChanges({
success: function(oResponse){
var iNextStep = parseInt(
that.getView().getModel().getProperty("/SomeSet('123')/NextStep"), 10
);
that.byId("Step1").setNextStep(iNextStep);
}
});
}
您可以从oResponse
对象而不是模型中获取"NextStep"属性,但为了清楚地说明我的建议,我留下了您的代码。