这是我的函数,它返回一个包含按钮文本值的承诺
getToggleViewButtonText(){
return this.toggleBasicOrAdvancedView.getText()
}
现在,我又编写了一个函数,它将其他函数作为参数并解析promise并返回其值。
promiseResolve(func){
return func.then(value=>{
return value
});
问题在于我何时使用
promiseResolve(this.getToggleViewButtonText())
我得到了promise而不是button元素的文本值。但是,如果我在promiseResolve函数中执行console.log(value)。我可以看到价值在那里。在这里我出错了可以帮到我。
答案 0 :(得分:0)
Promise.then()返回promise本身。承诺的重点是你不知道什么时候会解决。因此,您只能使用异步方法获得结果。
this.getToggleViewButtonText().then(value => {
// Do something with the value here
});
答案 1 :(得分:0)
如果要求在下一行的代码中获取Promise
的值,您可以使用async/await
function getToggleViewButtonText() {
return Promise.resolve(1)
}
async function promiseResolve(func) {
let value = await func;
if (value > 1) {
return value
} else {
return value + " is not greater than 1"
}
}
promiseResolve(getToggleViewButtonText()).then(data => console.log(data))