如何将javascript文件导入到qml工作脚本中?

问题描述 投票:1回答:3

我正在用qml创建应用程序,我想从互联网上下载数据。为了避免主线程的阻塞,我创建了WorkerScript文件,这很好用,但我需要将某些部分(如授权、适当的头等)抽象为通用函数。这很好用,但我需要将某些部分(如授权、适当的头等)抽象为通用函数。

不幸的是,我还没有找到一种方法来导入js文件到作为worker线程的js文件中。".import "会导致语法错误。

如何才能实现呢?

谢谢大家了。

编辑:

这是qml文件中的相关部分。

Page {
    WorkerScript {
          id: myWorker
          source: Qt.resolvedUrl("loadDetails.js")
          onMessage:  {}
      }
}

这是loadDetails. js:

.import "jsonrpc.js" as Jrpc
WorkerScript.onMessage = function(message) {
    // This is where I want to call functions from included file
}
javascript qt qml qtquick2 sailfish-os
3个回答
2
投票

查看 文件 只要 奥列格:

工人脚本不能使用.import语法。


0
投票

我想你在导入语句中漏掉了一个限定词。正确的语法是。

.import "filename.js" as Qualifier

请看 Qt文档 对于你的情况。


0
投票

这更像是一个元答案,因为这也是对其他答主的回答。

Qt文档有时会有歧义。在 WorkerScript文档 它规定。

普通JavaScript源的工作脚本不能使用.import语法。作为ECMAScript模块的脚本可以自由使用导入和导出语句。

但事实似乎并非如此。我尝试了各种不同的 进口:

// example.mjs
.import "test.mjs" as Test
.import * as Test from "test.mjs";
import "test.mjs" as Test
import * as Test from "test.mjs";
import { test } from "test.mjs"

所以很明显,它不工作,但文件上说它工作,而且它不... ...

© www.soinside.com 2019 - 2024. All rights reserved.