量角器getAttribute promise-解决价值

时间:2019-07-03 06:10:39

标签: javascript ecmascript-6 promise protractor

我们有以下问题,我们想将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();
}

“值”的值将是一个承诺[对象承诺]

谢谢!

1 个答案:

答案 0 :(得分:0)

您已经拥有一个async函数-使用它:

static async getStreetNumberAsync() {
  let value = await this.getStreetNumber();
  return value;
}

或者,如果您要承诺:

return new Promise(resolve => resolve(value));