"await is not defined" Qt Web 引擎错误
"await is not defined" error in Qt Web Engine
我正在尝试 运行 Javascript 在 Qt 的网络引擎中包含 await
的代码。这是一个说明我正在尝试做的事情的最小示例:
QWebEngineView webView;
webView.page()->runJavaScript("await (new Promise(r => setTimeout(r, 100)))");
问题是,当我 运行 这样做时,我得到以下 Javascript 错误(Qt 在 Qt Creator 的控制台中登录):
js: Uncaught ReferenceError: await is not defined
当我第一次看到这个时,我以为是因为 Qt Web Engine 使用了不支持 await
的旧版 Chromium。但是使用, I found out that that the version of Chromium it was using was Chromium 80, and according to caniuse中的方法,await
在Chromium 55及以后的版本中是支持的,所以Chromium 80应该也支持。
所以我的问题是,为什么我会收到此错误,即使它使用的 Chromium 版本应该支持 await
,我该如何解决这个问题?
尝试:
webView.page()->runJavaScript("(async () => await (new Promise(r => setTimeout(r, 100))))()");
我正在尝试 运行 Javascript 在 Qt 的网络引擎中包含 await
的代码。这是一个说明我正在尝试做的事情的最小示例:
QWebEngineView webView;
webView.page()->runJavaScript("await (new Promise(r => setTimeout(r, 100)))");
问题是,当我 运行 这样做时,我得到以下 Javascript 错误(Qt 在 Qt Creator 的控制台中登录):
js: Uncaught ReferenceError: await is not defined
当我第一次看到这个时,我以为是因为 Qt Web Engine 使用了不支持 await
的旧版 Chromium。但是使用await
在Chromium 55及以后的版本中是支持的,所以Chromium 80应该也支持。
所以我的问题是,为什么我会收到此错误,即使它使用的 Chromium 版本应该支持 await
,我该如何解决这个问题?
尝试:
webView.page()->runJavaScript("(async () => await (new Promise(r => setTimeout(r, 100))))()");