【问题标题】: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() 链接。
希望对你有帮助。