gpt4 book ai didi

javascript - 如何将变量对象从括号中取出,或者有什么方法可以全局声明变量

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

var oModel = new sap.ui.model.odata.ODataModel(url, true, username, password);  
oModel.read('/', null, null, true, function(oData, oResponse)
{
var dataget = JSON.stringify(oData);
var count = oData.results[0].Ort01;
var Name1 = oData.results[0].Name1;
var Kunnr = oData.results[0].Kunnr;
alert(count + " " +Name1 + " " +Kunnr);
});

如您所见,我可以获取括号内的变量({ });如何在括号外获取相同的变量对象,如下所示..

var oModel = new sap.ui.model.odata.ODataModel(url, true, username, password);  
oModel.read('/', null, null, true, function(oData, oResponse)
{
});
var dataget = JSON.stringify(oData);
var count = oData.results[0].Ort01;
var Name1 = oData.results[0].Name1;
var Kunnr = oData.results[0].Kunnr;
alert(count + " " +Name1 + " " +Kunnr);

有人可以帮助我吗?谢谢您

最佳答案

我不确定你想要完成什么,但你声明的函数似乎是回调函数。这意味着它将异步执行,因此您不能简单地在 oModel.read 行之后添加该代码。

但是,您可以在方法调用之前声明这些变量并在回调方法中使用它们,但您必须意识到您无法知道回调函数何时执行,因此您无法确定这些变量何时会有任何数据.

var count;
var Name1;
var Kunnr;
var oModel = new sap.ui.model.odata.ODataModel(url, true, username, password);
oModel.read('/', null, null, true, function(oData, oResponse)
{
var dataget = JSON.stringify(oData);
count = oData.results[0].Ort01;
Name1 = oData.results[0].Name1;
Kunnr = oData.results[0].Kunnr;
alert(count + " " +Name1 + " " +Kunnr);
});

// Here you can reference to count those variables but you need to make sure
// that callback function is executed already

上面的例子展示了如何做到这一点,但无论如何这都不是好方法。我认为你应该修改整个执行流程,因为异步执行。我的意思是您应该理解执行流程将在回调函数内部而不是在回调函数外部继续:

var variableDefinedBeforeCallback = .....;
...
var oModel = new sap.ui.model.odata.ODataModel(url, true, username, password);
oModel.read('/', null, null, true, function(oData, oResponse)
{
var dataget = JSON.stringify(oData);
var count = oData.results[0].Ort01;
var Name1 = oData.results[0].Name1;
var Kunnr = oData.results[0].Kunnr;
alert(count + " " +Name1 + " " +Kunnr);

// If you want to do something with those variables you can call any function
// here and pass variables defined also before this callback
anyFunction(variableDefinedBeforeCallback, count, Name1, Kunnr, ...);
});

关于javascript - 如何将变量对象从括号中取出,或者有什么方法可以全局声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25479739/

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