我想使用Q.all()返回一个promise数组; 像这样:
return Q.all([
list[0].getCssValue('height'),
list[1].getCssValue('height'),
...,
list[list.length-1]
.getCssValue('height')
]);
我需要返回数组中的所有列表,我可以通过array.length获得长度。
问题是我无法
for(var i = 0; i < list.length; i++)
制作像
这样的退货商品list[i].getCssValue('height');
那我该怎么做呢?
答案 0 :(得分:0)
嗯,你实际上可以通过创建一个新数组来实现它:
var arr = []
for(var i = 0; i < list.length; i++){
arr.push(list[i].getCssValue('height');
}
return Q.all(arr); // wait for all getCssValue actions
但是,.map
有一种更优雅的方式,可以将每个元素从一个数组映射到另一个数组:
return Q.all(arr.map(function(x){ return x.getCssValue('height'); });