【问题标题】:How to access variable declared inside promise in protractor如何访问量角器中的promise中声明的变量
【发布时间】:2023-03-08 12:30:01
【问题描述】:

我有一个用例,我应该访问 promise 结果变量的范围应该是全局变量或外部范围

var mobileNumber = database.generateMobileNumber().then(function(number) {
return number;//number should be access outside this function scope
);

【问题讨论】:

    标签: javascript node.js promise protractor nodes


    【解决方案1】:

    您可以在函数返回的 Promise 中声明一个变量并为其赋值,然后等待 Promise 解决。方法如下-

    var mobileNumber = '';
    browser.wait(function(){
        return database.generateMobileNumber().then(function(number) {
            mobileNumber = number;
            return !!number;
        );
    }).then(function(){
        //mobileNumber should be accessible here
    });
    

    注意:因为您不知道 promise 何时返回,所以使用 wait() 函数应该会有所帮助,直到返回值。此外,如果您在某些操作后使用该值,则无需将wait() 函数与.then() 链接。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多