Jak zmienić metodę wprowadzania w przeglądarce emscripten z window.prompt na coś bardziej sensownego?

Mam funkcję C ++, która raz wywołała pobieranie danych ze standardowego wejścia. Eksportowanie tej funkcji do javascript przy użyciu emscripten powoduje wywołanie metody window.prompt.

Interakcja z monitem przeglądarki to naprawdę żmudne zadanie. Przede wszystkim możesz wkleić tylko jedną linię na raz. Po drugie, jedynym sposobem wskazania EOF jest naciśnięcie „anuluj”. Na koniec jedyny sposób (w przypadku mojej funkcji) na to, aby przestał pytać użytkownika o wejście przez window.prompt, zaznaczając pole wyboru, aby nie wyświetlać więcej monitów.

Dla mnie najlepszą metodą wprowadzania byłoby czytanie jakiegoś blobu. Wiem, że mogę włamać się do biblioteki library.js, ale widzę pewne problemy:

Czytanie blob jest asynchroniczne.Aby odczytać blob, najpierw musisz otworzyć plik, który użytkownik musi najpierw wybrać.Naprawdę nie wiem, jak uniemożliwić mojej funkcji odczytywanie tego blobu na zawsze - nie ma pola wyboru jak w przypadku window.prompt i nie jestem pewien, czy wykrywanie EOF go zatrzyma, jeśli nie w przypadku window.prompt (tylko sprawdzenie pola wyboru pomogło).

Najlepszym rozwiązaniem byłoby wywołanie zwrotne, ale chciałbym zobaczyć podpowiedzi sime od bardziej doświadczonych użytkowników.

questionAnswers(2)

yourAnswerToTheQuestion