Javascript 如何从get-odata调用方法中获取变量
从get-odata调用中获取变量的最佳方法是什么。我在一个方法中使用了这段代码,在这个方法中,我希望使用变量“id”,这是通过odata调用得到的。我已经试过回电话了,但我找不到正确的方法。你有解决这个问题的办法吗?我还试图将调用放在一个额外的函数中,但随后我遇到了一个问题,即by return变量未定义,我无法访问它 更新/补充:Javascript 如何从get-odata调用方法中获取变量,javascript,odata,sapui5,Javascript,Odata,Sapui5,从get-odata调用中获取变量的最佳方法是什么。我在一个方法中使用了这段代码,在这个方法中,我希望使用变量“id”,这是通过odata调用得到的。我已经试过回电话了,但我找不到正确的方法。你有解决这个问题的办法吗?我还试图将调用放在一个额外的函数中,但随后我遇到了一个问题,即by return变量未定义,我无法访问它 更新/补充: 我有一个方法,我正在做一些odata更新和插入。在下面的代码中,我得到了一个id。在下一步中,我需要这个id作为参数进行另一个odata更新。我的问题是,我无法在
我有一个方法,我正在做一些odata更新和插入。在下面的代码中,我得到了一个id。在下一步中,我需要这个id作为参数进行另一个odata更新。我的问题是,我无法在代码的下一步中使用var id,因为它只能在oModel{}部分中访问
oModel.read("/ZDEMA_LENDINGS2Set", {
urlParameters: {
"$select": "Id",
"$top": 1
},
success: function(oData, oResponse) {
console.log("Data", oData);
console.log("Response", oResponse);
var id = oData.results[0].Id;
},
error: function(oError) {
console.log("Error", oError);
}
}
由于这是一个UI5应用程序,我建议使用本地JSON模型并将值设置为属性
this.getView().getModel('myLocalModel').setProperty("lendingId", oData.results[0].Id)
这样做的好处是,您可以使用双向数据绑定和/或更改侦听器。
另一种方法是在事件总线上触发一个事件。为什么不在这个调用之外放置一个变量,并像let id一样在回调中分配它;而且在内部成功cb assign id=oData.results[0]。我认为这不起作用,我以前试过。我认为这是因为odata调用的异步性,当您得到响应时,您将分配不存在问题的数据,这可能会给我们一个重现您正在做什么的方法?我有一个方法,我正在做一些odata更新和插入。在上面的代码中,我得到了一个id。在下一步中,我需要这个id作为参数进行另一个odata更新。我的问题是,我无法在代码的下一步中使用var id,因为它只能在oModel{}部分中访问。