"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))))()");