Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从get-odata调用方法中获取变量_Javascript_Odata_Sapui5 - Fatal编程技术网

Javascript 如何从get-odata调用方法中获取变量

Javascript 如何从get-odata调用方法中获取变量,javascript,odata,sapui5,Javascript,Odata,Sapui5,从get-odata调用中获取变量的最佳方法是什么。我在一个方法中使用了这段代码,在这个方法中,我希望使用变量“id”,这是通过odata调用得到的。我已经试过回电话了,但我找不到正确的方法。你有解决这个问题的办法吗?我还试图将调用放在一个额外的函数中,但随后我遇到了一个问题,即by return变量未定义,我无法访问它 更新/补充: 我有一个方法,我正在做一些odata更新和插入。在下面的代码中,我得到了一个id。在下一步中,我需要这个id作为参数进行另一个odata更新。我的问题是,我无法在

从get-odata调用中获取变量的最佳方法是什么。我在一个方法中使用了这段代码,在这个方法中,我希望使用变量“id”,这是通过odata调用得到的。我已经试过回电话了,但我找不到正确的方法。你有解决这个问题的办法吗?我还试图将调用放在一个额外的函数中,但随后我遇到了一个问题,即by return变量未定义,我无法访问它

更新/补充:


我有一个方法,我正在做一些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{}部分中访问。