在量角器中,我有这个。
function getText(): string {
return browser.executeScript(`return 'some text';`);
}
第一个返回诺言,我不知道如何从诺言中获得价值。
然后我尝试做
function getText(): string {
browser.executeScript(`return 'some text';`).then(function(result) {
return result;
});
第二个问题是我找不到使它异步的方法。仅在我所有的代码完成执行后返回。
我要实现的目标是:
let text = getText();
希望有人可以提供帮助,因为我找不到该问题的有效答案。
编辑: 我找不到将其放置在函数外部的变量中的方法。我当前的解决方案是:
browser.executeScript(`return 'some text';`).then(function(result) {
console.log(result);
//do your stuff here with the variable.
});
//can't find out how to use it outside the then function as other code runs first. But for now, that way works.
答案 0 :(得分:0)
您可以使用async ... await
机制处理诺言:
async function getText(): Promise<string> {
const text = browser.executeScript(`return 'some text';`);
return text;
});
...
...
let text = await getText();
如果您不想在getText
方法完成后等待(我不知道为什么需要这个奇怪的东西),您将无法解决Promise:
let text = getText();