在AngularJs中使用$ q.all进行承诺解析的顺序

时间:2018-12-06 02:32:18

标签: angularjs angular-promise

我不确定在这种情况下运行的功能的顺序:

let results = [];
let p = [];
p.push(Service.get('something-async').then(result => {
    results.push(result)
});
p.push(Service.get('something-else-async').then(result => {
    results.push(result)
});


$q.all(p).then(() => {
    console.log(results.length);
}

.then()函数将在$ q.all被解析之前还是之后运行? results的长度是多少?

1 个答案:

答案 0 :(得分:0)

如果其他人想知道,答案是在$ q.all(p).then函数之前调用各个promise的then函数。因此results的长度为2。