在Javascript中正确链接ajax请求

在Javascript中正确链接ajax请求,javascript,jquery,ajax,Javascript,Jquery,Ajax,大家好,我面临一个问题,我找不到解决办法。 我尝试链接两个rest调用函数,然后使用一个函数,该函数使用从这两个函数返回的对象。出于某种原因,有些东西不起作用,我认为这与我写的语法有关。我想知道为什么 我的代码: 文件 var用户=[]; var user=null; 函数restCallA(){ $.ajax({ url:“https://reqres.in/api/users?page=2", 键入:“获取”, 成功:功能(响应){ 用户=response.data; } }); } 函

大家好,我面临一个问题,我找不到解决办法。 我尝试链接两个rest调用函数,然后使用一个函数,该函数使用从这两个函数返回的对象。出于某种原因,有些东西不起作用,我认为这与我写的语法有关。我想知道为什么 我的代码:


文件
var用户=[];
var user=null;
函数restCallA(){
$.ajax({
url:“https://reqres.in/api/users?page=2",
键入:“获取”,
成功:功能(响应){
用户=response.data;
}
});
}
函数restCallB(){
$.ajax({
url:“https://reqres.in/api/users/2",
键入:“获取”,
成功:功能(响应){
user=response.data;
}
});
}
函数myFun(){
push(用户);
console.log(用户);
}
restCallA()
.然后(restCallB())
.然后(myFun());

无论是
restCallA
还是
restCallB
都必须返回每个
$调用的结果。ajax
调用,然后可以使用
then()
链接它们

另一个问题是,您正在调用restCallB和myFun,而不是将函数作为参数传入:

restCallA()
        .then(restCallB())
        .then(myFun());
应该是:

restCallA()
        .then(restCallB)
        .then(myFun);

我不完全确定它是如何工作的。
ajax
中的
promise
在哪里?@denat如果不是在ajax调用本身中,我如何使用每个ajax调用的结果?我的意思是当我做restCallA(数据)。然后(restCallB)。然后(myFun)时,我不能传递第一个函数的数据。。。。第二次也一样one@hindi1991restCallB和myFun都可以接受一个
data
参数,该参数将包含先前ajax的结果request@AnuragSrivastava您可以使用
jqXHR操纵底层承诺。然后(…)
。来源:@dena我不明白,但我怎么把它写成语法呢?因为当我使用.then链接时,在第二个函数上没有()