1

我们如何才能将 promise 解析为正常的数值。

我在量角器自动化中有一个用例,首先我必须调用一个异步操作,然后那个结果值不应该是一个承诺。

我正在使用量角器框架

编辑

var mobileNumber = database.generateMobileNumber().then(function(mobileNumber){
    done();
    return mobileNumber;
}); 
var number=Promise.resolve(mobileNumber);
4

2 回答 2

0

不太清楚为什么你可能想要使用非承诺值,但我认为你应该使用 browser.wait() 我没有检查这个,测试这个代码看看它是否会工作。这种方法不好,使用前请三思:

function getMobileNumber() {
var result;
var promise = database.generateMobileNumber().then(mobileNumber=> {
    result = mobileNumber;
    return true;
});

browser.wait(promise, 10000)
return result;
}
于 2016-04-05T11:28:18.923 回答
0

这个怎么样 ?您可以在本文中找到有关使用量角器管理承诺的更多信息。

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)。我不知道这样做的结果。

于 2016-04-05T21:22:50.943 回答