172 похожих чатов

Это понятно, проблем особых нету с тем кто его вызывает но

мапить на wasm объекты функционал и дергать их через js не очень хочется.. классно было бы найти какое-то решение чтобы все внутри работало независимо от wasm и js

к примеру вот такое есть с фьючами и стримом
#[wasm_bindgen]
pub struct Caller {
tx: futures::channel::mpsc::UnboundedSender<u32>,
}
#[wasm_bindgen]
impl Caller {
pub fn new() -> Caller {
let (tx, mut rx) = futures::channel::mpsc::unbounded::<u32>();
spawn_local(async move {
while let Some(item) = rx.next().await {
console_log!("wasm: {:?}", item);
}
});
Caller{tx}
}
pub fn send(&mut self, i: u32) {
self.tx.unbounded_send(i);
}
}
в js
let call = mse.Caller.new();
потом дергаем периодически call.send(i++); и все в расте работает как нужно

тут даже вопрос скорее не в том как это сделать в wasm, а как это можно сделать в расте вообще правильно с точки зрения архитектуры приложения

1 ответов

1 просмотр

Во-первых: нафига фьючи и каналы вообще? Зачем асинхронность? Тем более - в JS/WASM?

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
например asm AT&T ... label: .string "hi" ... # not error lea label(%rip), %rax # error ( not compile ) mov %rip, %rax # not error mov (%rip), %rax из форумов прочитал чт...
Simple Sorcerer
6
Почему никто не подсказал, что можно объявить свои типы данных, в которых меньше полей, чем в отданном джейсоне, и добавлять их по необходимости?
Strange Rabbit
10
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Есть предложения, как подобное можно упростить?
Hemul GM
12
Карта сайта