avajs/ava

Enable value transfers in shared worker messages

Open

#2,733 建立於 2021年4月6日

在 GitHub 查看
 (2 留言) (0 反應) (0 負責人)JavaScript (20,600 star) (1,408 fork)batch import
enhancementhelp wantedscope:shared-workers

描述

From #2705, when publishing shared worker messages, or replying to an individual message, we should enable values to be transferred.

I don't think a second "transfer list" API is a good fit for the shared worker API. Perhaps we could add a chaining API like .transferring(buffer1, messagePort2).publish({buffer1, messagePort2}) and .transferring(buffer1, messagePort2).reply({buffer1, messagePort2}).

Values can only be transferred once. This also means we can't add this to the .broadcast() method.

See:

https://github.com/avajs/ava/blob/0e5cc7dc2b1512d0abe9bfba57b26888eedea0cf/plugin.d.ts#L35

https://github.com/avajs/ava/blob/0e5cc7dc2b1512d0abe9bfba57b26888eedea0cf/plugin.d.ts#L41

貢獻者指南