在包装对象图形时,TypeScript 类型似乎不正确
作者: jderemer创建于 2025年8月8日更新于 2025年8月8日
我在包装的 Web 工作者如下所示:
worker.js
interface MyWebWorker {
service: {
method: () => void;
};
}
Comlink.expose({
service: {
method: () => {},
},
});main.js
const worker = new Worker("worker.js");
const obj = Comlink.wrap<MyWebWorker>(worker);在 main.js 中包装后,我得到以下类型:
- obj:
Remote<MyWebWorker> - obj.service:
Promise<{ method: () => void }>我想要的类型如下所示: - obj:
Remote<MyWebWorker> - obj.service:
{ method: () => void } - obj.service.method:
() => Promise<void>
在运行时,我可以运行 obj.service.method(),它将成功调用 Web 工作者。
内容来源: GoogleChromeLabs/comlink