我正在处理打字稿。我正在尝试从async方法返回一个值。但是,它总是返回{}。下面是我编写的代码。
async returnNewUrlAfterClickingLink(): Promise<string> {
const allHandles = await browser.getAllWindowHandles();
await browser.switchTo().window(allHandles[2]);
const cur_url = await browser.getCurrentUrl();
console.log("url is" + cur_url);
return cur_url;
}
但是我能够正确记录网址。
答案 0 :(得分:1)
您的returnNewUrlAfterClickingLink
被标记为异步,因此它现在总是返回promise。为了获得该值,您需要await
的函数结果:
const url = await returnNewUrlAfterClickingLink()
console.log(url)
再次-要使用await,必须将函数设置为异步,因此整个调用堆栈必须为async / await。
希望这会有所帮助