Javascript 函数中的两个回调函数不是同步调用的
我有两个回调函数,如上所示,callback_1和callback_2,它从服务请求JSON 回调函数_2在回调函数_1之前调用,变量名显示为未定义。非常感谢您的帮助 如何让回调\u 1在回调\u 2之前执行,以便变量名不被定义。尝试以下操作:Javascript 函数中的两个回调函数不是同步调用的,javascript,jquery,ajax,callback,asynccallback,Javascript,Jquery,Ajax,Callback,Asynccallback,我有两个回调函数,如上所示,callback_1和callback_2,它从服务请求JSON 回调函数_2在回调函数_1之前调用,变量名显示为未定义。非常感谢您的帮助 如何让回调\u 1在回调\u 2之前执行,以便变量名不被定义。尝试以下操作: function sample() { var callback_1 = request1(function(response) { var Name = response.name;
function sample() {
var callback_1 = request1(function(response) {
var Name = response.name;
});
var callback_2 = request2(function(response_1) {
if (response_1.name === Name) {
// do something
});
}
}
试试这个:
function sample() {
var callback_1 = request1(function(response) {
var Name = response.name;
});
var callback_2 = request2(function(response_1) {
if (response_1.name === Name) {
// do something
});
}
}
jqueryajax请求返回一个延迟对象,因为request1和request2是某种ajax调用。看一看。 您可以使用以下内容:
function sample() {
var callback_1 = request1(function(response) {
var Name = response.name;
var callback_2 = request2(function(response_1) {
if (response_1.name === Name) {
// do something
}
});
});
}
jqueryajax请求返回一个延迟对象,因为request1和request2是某种ajax调用。看一看。 您可以使用以下内容:
function sample() {
var callback_1 = request1(function(response) {
var Name = response.name;
var callback_2 = request2(function(response_1) {
if (response_1.name === Name) {
// do something
}
});
});
}
从回调\u 1调用回调\u 2。。。提示:只需移动第一个};last}Name后面是回调函数的局部变量。。它始终是未定义的。@tymeJV即使名称是全局变量,在执行回调_2之后调用回调_1,因此名称为undefined@min2bro-没错,但这仍然是主要问题。即使回调_1首先返回,也没关系,无法访问。从回调_1调用回调_2。。。提示:只需移动第一个};last}Name后面是回调函数的局部变量。。它始终是未定义的。@tymeJV即使名称是全局变量,在执行回调_2之后调用回调_1,因此名称为undefined@min2bro-没错,但这仍然是主要问题。即使回调函数_1首先返回,也没关系,无法访问。+1 OP还可以使两个函数异步执行,然后确保request1在将request2的结果与名称进行比较之前已完成。不过,对于这个问题来说,这样做可能是不必要的复杂,而且只有在两个请求都需要很长时间的情况下才有必要这样做。+1 OP还可以使两个函数异步执行,然后确保request1在将request2的结果与Name进行比较之前已经完成。但是,对于这个问题来说,这样做可能是不必要的复杂,并且只有在两个请求都需要很长时间的情况下才真正有必要这样做。