使用JavaScript array.map()回调函数

使用JavaScript array.map()回调函数,javascript,protractor,angularjs-e2e,Javascript,Protractor,Angularjs E2e,与我的array.map()示例混淆的是,它返回一个未定义值的数组。 这是在量角器e2e上下文中,但非常特定于数组。map this.getColData=函数(colIdx){ var colClass='.columnUi-'+colIdx; var cols=element.all(by.css(colClass)); var=这个; 返回cols.map(函数(elem,idx){ elem.getText().then(函数(txt){ console.log('COL TEXT:'

与我的
array.map()
示例混淆的是,它返回一个
未定义值的数组。
这是在
量角器
e2e上下文中,但非常特定于
数组。map

this.getColData=函数(colIdx){
var colClass='.columnUi-'+colIdx;
var cols=element.all(by.css(colClass));
var=这个;
返回cols.map(函数(elem,idx){
elem.getText().then(函数(txt){
console.log('COL TEXT:'+that.convertCellData(txt));//打印正确的值
返回该.convertCellData(txt);
});            
}

}
getText返回一个承诺,该承诺不会再次返回您的convertCellData。因此,您必须使用多个承诺才能得到结果。@Blauharley-谢谢,因为我之前确实想到了这一点,但我忘记了重新访问它。也许我毕竟需要
.then()
(因为后一个版本工作正常)这是一个回调函数,但这里只剩下两个选项