Отправить объект JsValue в другой контекст выполнения с помощью postMessage - PullRequest
0 голосов
/ 31 января 2020

Используя web_sys::BroadcastChannel (широковещательный канал или нет, я полагаю, это один и тот же результат) Я хочу опубликовать сообщение, которое будет выбрано другим windows, и я до сих пор пытался преобразовать мою #[wasm_bindgen] аннотированную структуру в JsValue, который я передаю chan.post_message(&msg.into()).
Я успешно получаю объект на другой стороне, но это объект оболочки типа {ptr: 1234567}, который, как я полагаю, при использовании из того же контекста работает как прокси для базовых данных .

Есть ли способ сделать JsValue «настоящим» объектом? тем временем в качестве обходного пути я отправляю строку JSON, которую мне нужно проанализировать на принимающей стороне.

1 Ответ

0 голосов
/ 03 февраля 2020

Из-за ограничений wasm невозможно использовать объекты Rust в разных JS контекстах.

Вы должны сериализовать / десериализовать их каждый раз.

...