问题标签 [transferable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 将可转移对象与共享工作者一起使用
在我的共享工作者中使用可转移对象时,我在主线程中收到null
。event.data
经过一番搜索,我发现这篇文章解释说ArrayBuffer
当它通过 a 时总是MessagePort
丢失MessageChannel
。
共享工作者通信也使用端口和消息通道完成。这是否意味着无法在SharedWorker
实例中使用可转移对象?还是有一些解决方法?
我需要将一个巨大string
的从SharedWorkerGlobalScope
回传输到主线程。想法是将其转换ArrayBuffer
为如本例所示的,然后传输缓冲区。据说这比发送字符串要快得多......
发送数据:
接收数据:
javascript - 无法在“DedicatedWorkerGlobalScope”上执行“postMessage”:索引 0 处的值没有可转移类型
这是我的工人的代码:
这是我使用工人的代码:
但是当调用worker代码中的postMessage时,它给了我这个错误:“无法在'DedicatedWorkerGlobalScope'上执行'postMessage':索引0处的值没有可转移的类型。”
我还尝试使用以下代码序列化对象:
但一切都没有改变。
- - - 编辑 - - - - - - - - - - - - - - - - - - - - - - ---------------------
我在工作文件中尝试了以下代码:
onmessage 函数中的 postMessage 是唯一给我一个错误的。
javascript - 使用 javascript 将 Three.js 网格发布到 Web Worker
我有一个关于对象的数组,使用 Three.js 创建的网格,我想在 Web Worker 中执行一些操作。所以问题是我如何将它们发布给工人?
据我了解,有一种叫做可转移对象的东西使用了一种叫做的东西,ArrayBuffer
但我找不到任何关于如何将我的对象数组转换为那个的信息。或者这可能是不可能的?
java - 从自定义 DataFlavor 中获取 DataFlavor[]
我想创建一个程序,将图像从文件夹复制到剪贴板,但图像变黑。
在做了一些研究之后,我发现:当从 Java 剪贴板对象作为图像检索时,Outlook 的剪贴板副本总是设置黑色背景 他说使用 image\x-emf 解决了这个问题。但我不知道如何从“ new DataFlavor("image/x-emf") ”中获取 TransferData
方法调用(其中 emojiLocation 是图像的路径):
提前致谢!
java - 将剪贴板设置为透明图像
我正在创建一个需要将图像复制到剪贴板的程序。问题是图像具有透明背景,并且每当我复制它时,图像的背景都是黑色而不是透明。自 2 天前以来,我尝试了很多东西,但都没有奏效。imageSelection 类基于http://www.java2s.com/Tutorial/Java/0120__Development/SettinganimageontheclipboardwithacustomTransferableobjecttoholdtheimage.htm
称呼:
谢谢
我正在通过将内容粘贴到 Discord 中来测试内容(聊天应用程序,它确实支持透明度,我确信这一点)。我正在使用 jdk1.8.0_131。我正在使用完全更新的 Windows 10 64 位。如果需要,完整的源代码在这里:https ://github.com/KingOffNothing/EmojiMenu-for-discord/tree/master/src/Package1 程序所做的是将剪贴板更改为选定的图像,然后是用 AHK 编写的程序将模拟粘贴图像的按键 ctrl+v。
javascript - JavaScript Transferable Objects:为什么引擎不保留原始实例?
我正在阅读有关网络工作者的这篇文章,并且遇到了有关可转移对象的这一部分:
使用 Transferable Objects,数据从一个上下文传输到另一个上下文。它是零拷贝,极大地提高了向 Worker 发送数据的性能。如果您来自 C/C++ 世界,请将其视为传递引用。但是,与传递引用不同,调用上下文中的“版本”一旦转移到新上下文就不再可用。
为什么?根据我对抽象堆栈机器的理解,可以保留原始指针似乎是完全合理的。诚然,由于数据现在是从另一个上下文中引用的,因此继续使用它将是一项棘手的任务,但并非完全不合理。为什么原始对象被清除?
如果有人在那里有一些有价值的见解,我还想了解整个过程是如何在幕后进行的。
javascript - Javascript:如何使用带有视图的数组缓冲区来发送可传输对象
假设我有一个名为的数组
第一个数组有 2000 个对象,它们具有以下内容
假设我想将 Arr2 定义为
然后将 arr2 发送给网络工作者。
这就是目标,我想知道我将如何去做,首先发送并访问第一个数组,然后再做另一个。这和 ik 有可以定义的数组缓冲区,然后可以从缓冲区制作数据视图,但我不知道你将如何将我上面的内容发送给工作人员,因为我不知道需要发送什么缓冲区以及如何添加必要的限制,如字节长度。我看到一个帖子,那个家伙使用了类似的东西
这是在创造我想要的东西吗?如果不是,我怎么能把我的物品转移给工人,谢谢,玩得开心。
Ps:我做这个帖子的原因是为了简化已经存在的信息,我认为这些信息对新人来说有点笼统和不受欢迎。
java - JList 上 Transferable 和 Transferhandler 的自定义删除容器
过去一周我试图解决这个问题,但不知何故我似乎无法找到解决方案。关于这个主题的信息不多,因此很难找到示例或代码来查看。
我这里有一个 JList,它使用创建自定义 Transferable 的自定义 TransferHandler,供参考,这里是所涉及类的代码:
可转让:
传输处理程序:
HBin
以及它应该如何工作的可视化,可悲的是,即使没有将容器拖到 Hbin 容器上,它也总是会消失。我一直以为它一直在工作,直到我不小心把它移到了我的框架之外,它仍然消失了。上面的代码只允许在预期的列表内拖放。
我的问题是如何添加功能以正确使容器仅在拖到 Hbin 容器上时才消失
我使用的代码的第一部分是这个
我背后的逻辑是 List 和 Hbin 共享相同的类型(RewardItem),我可以比较,后来我意识到(在制作该方法的更通用版本之后)数据将始终是 RewardItem 类型并且总是会导致在清理电话中。这导致了我目前仍然面临的错误。
我今天早些时候采取的方法真的让我质疑自己的想法,也让我写了这篇文章。我在名为 bin 的 TransferHandler 中添加了一个布尔值,默认情况下为 false。在 canImport 签入 importData 之后,我添加bin = info.getComponent() instanceof HBin
了我认为应该可以工作的内容。但这个领域总是假的。我继续为它添加了一个日志
它最终打印了 IMPORT,然后是 bin。在调用 importData exportData 之后,我在其中记录了 bin 的值,无论出于何种原因,它现在再次为 false。与此同时,moveAllowed 字段似乎发生了变化。
这是我完全修改过的 TransferHandler
在列表内移动时一切正常(打印)
但是当掉到 Hbin 容器上时,我无法解释发生了什么(打印)
我很确定它应该是假/真
现在我被卡住了,无法使容器仅在放到 Hbin 上时消失,同时也对字段值在明确记录它已设置为 true 时没有改变感到困惑。
请帮忙...
java - 如何将整个 jcomponent 对象转换为可转移的?
我有一个程序,我想在其中使用拖放。我浏览了 java 拖放文档,但我真的找不到答案。我想使用 TransferHandler。基本上我要做的是传输整个 JTextField ,而不仅仅是其中的文本,因此它保留了它的所有属性。或者换句话说,整个对象。我看到你可以做一个自定义的 DataFlavor。
我可能会像这样导入数据:
我遇到的问题是如何发送数据以便我可以读取它。我在想这样的事情。
我应该如何转换它以便能够发送 JTextField 并在删除后重建它。
ecmascript-6 - 使用 ES6 网络工作者的可迁移自定义类
在 Javascript ES6 中,在浏览器中,我想使用“Transferable”接口将自定义类对象传输到 Web Worker。这可能吗?我可以找到有关 ArrayBuffer 对象的文档,但不能找到自定义类对象。
这不是如何通过 Web-Workers 传递自定义类实例的副本?因为我的问题是关于 Transferable 接口的。我想将我的自定义类实例传递给工作人员而不复制它。