我们有以下问题,我们想将getAttribute函数中的值存储在局部变量中。我们试图兑现诺言,但无法奏效。
return element(by.id('foo')).getAttribute('value');
这将返回一个承诺,我们正在尝试将值存储为
let result = await element(by.id('foo')).getAttribute('value');
但这只会给另一个promise对象一个回信。我还尝试通过链接如下的诺言来解决它:
static async getStreetNumberAsync() {
this.getStreetNumber().then(function(value) {
return new Promise.resolve(value);
});
}
然后再次等待诺言被兑现,但这也不起作用。有人可以解释我做错了什么以及如何处理吗? 整个代码:
static getStreetNumber(){
return this.MPP().txtStreetNumber.getAttribute('value');
}
static async getStreetNumberAsync() {
let value = await this.getStreetNumber();
return value;
}
static editMyProfile(){
let value = this.getStreetNumberAsync();
}
“值”的值将是一个承诺[对象承诺]
谢谢!
答案 0 :(得分:0)
您已经拥有一个async
函数-使用它:
static async getStreetNumberAsync() {
let value = await this.getStreetNumber();
return value;
}
或者,如果您要承诺:
return new Promise(resolve => resolve(value));