我们如何解决对正常数字值的承诺。
我在量角器自动化中有用例,我必须先调用一个异步操作,然后调用那个不应该是promise的结果值。
我正在使用量角器框架
修改
var mobileNumber = database.generateMobileNumber().then(function(mobileNumber){
done();
return mobileNumber;
});
var number=Promise.resolve(mobileNumber);
答案 0 :(得分:0)
不太确定为什么你可能想要使用非承诺值,但我认为你应该使用browser.wait() 我没有检查过这个,测试一下这段代码是否有用。 这种方法很糟糕,在使用它之前要三思而后行:
function getMobileNumber() {
var result;
var promise = database.generateMobileNumber().then(mobileNumber=> {
result = mobileNumber;
return true;
});
browser.wait(promise, 10000)
return result;
}
答案 1 :(得分:0)
这个怎么样?您可以在this article中找到有关使用量角器管理承诺的更多信息。
var mobileNumber = database.generateMobileNumber().then(function(mobileNumber){
done();
var deferred = protractor.promise.defer();
return deferred.fulfill(mobileNumber);
});
修改强>
var mobileNumber = database.generateMobileNumber().then(function(value){
done();
var deferred = protractor.promise.defer();
return deferred.fulfill(value);
});
前一个不干净,因为在两个不同的上下文中使用了相同的名称(mobileNumber)。我不知道结果。