我想调用这个函数,然后在用户单击我的VueJS应用程序中的一个元素后,在新选项卡中打开一个页面,类似于以下内容:
const someFunction = async () => {
const value = await api.someCallToApi();
window.open('https://example.com', '_blank').focus();
}
我不被允许这样做,可能是由于等待导致window.open不是用户操作(?)的直接结果!由于我的应用程序的设置方式,API调用的顺序和在新标签页中打开窗口是相关的。
处理这一问题的可靠和现代的方式是什么?
2条答案
按热度按时间kzipqqlq1#
在理想情况下,所有异步函数都已经返回Promise。但可能仍有旧库使用
await
。您可以创建如下所示的Promise来 Packageawait
函数:lstz6jyr2#
在API调用解析后,模拟一个类似下面的click事件: