美元q.all ([somevar])(功能(数据)){};,如果somevar是'undefined'

$q.all([somevar]).then(function(data)){}; , if somevar is 'undefined' when it will be resolved?

本文关键字:somevar undefined 如果 数据 all 美元 功能      更新时间:2023-09-26
$q.all([promise]).then(function(data)){
 console.log('resolved');
}; 

假设promise是'undefined',它何时会被解决?即使promise是空的或未定义的,它正在被解决,所以对$q行为感到困惑。

$q.all即使没有文档化,也可以接受普通值,而不仅仅是承诺-它会自动转换它们。所以你的代码相当于

$q.all([$q.when(promise)]).then(function(data)) {
  console.log('resolved');
};

如果promisenull,您将得到一个与null解决的承诺,这就是为什么您最终会在data中看到[null]