我正在使用javascript。我有两个函数,这两个函数都计算一个值。每个函数还对服务进行一次ajax调用并获取一些数据。通常,数据只是在一个对象中返回。这两个函数我都希望在单击按钮时出现,所以我将我的两个"Compute函数“都包装在另一个函数中。compute函数用于设置值。如何在包装器函数中使用这些设置的值?这可能是我没有理解的简单的东西
function ComputeSum() {
$.ajax({
type: 'GET',
dataType: 'json',
url: constructedURL,
success:
function(data) {
callback(data);
stopSpinner();
var TheSum = 4+4;
return TheSum;
},
error: function (xhr, status, error) {
alert("Error - Something went wrong on the retrieval of already existing Hydraulic Data.");
//alert("Unable to communicate with server.Status is: " + status + "The error is: " + error + "The xhr is: " + xhr);
stopSpinner();
}
});
}
function ComputeDIf() {$.ajax({
type: 'GET',
dataType: 'json',
url: constructedURL,
success:
function(data) {
callback(data);
stopSpinner();
var TheDif = 10-2;
return TheDif;
},
error: function (xhr, status, error) {
alert("Error - Something went wrong on the retrieval of already existing Hydraulic Data.");
//alert("Unable to communicate with server.Status is: " + status + "The error is: " + error + "The xhr is: " + xhr);
stopSpinner();
}
});
}所以我有两个额外的基本函数。我在附加到按钮单击的另一个函数中调用这些函数
function Calculations() {
ComputeSum();
ComputeDif();
alert("The sum is: " + TheSum);
alert("The difference is: " + TheDif);
}因此,我的ajax调用将返回一个对象,但我也希望能够在包装器函数中使用在Compute函数中创建的那些值。这个是可能的吗?我错过了什么。提前感谢您的帮助。
发布于 2015-11-10 00:01:24
也许我没有理解这个问题,但为什么不像这样使用返回值:
function Calculations() {
var TheSum, TheDif;
TheSum = ComputeSum();
TheDif = ComputeDif();
alert("The sum is: " + TheSum);
alert("The difference is: " + TheDif);
}变量TheSum和TheDif是局部变量,仅限于每个函数的作用域。var的使用确保了这一点。
发布于 2015-11-10 00:01:31
您只需将函数的返回值赋给一个局部变量,然后就可以在函数中引用该局部变量:
function Calculations() {
var sum = ComputeSum();
var dif = ComputeDif();
alert("The sum is: " + sum);
alert("The difference is: " + dif);
}https://stackoverflow.com/questions/33612911
复制相似问题