Có cách nào để đồng bộ chờ hoặc kiểm tra tin nhắn mới trong một nhân viên web không?Đồng bộ Đợi tin nhắn trong Web-Worker
Tôi có một cơ thể mã phức tạp (biên dịch LLVM từ emscripten) mà tôi không thể cấu trúc lại xung quanh các cuộc gọi lại.
Tôi cần đảm bảo rằng mã sau một dòng nhất định không thực thi cho đến khi tôi nhận và xử lý thư từ chuỗi giao diện người dùng. Nếu tôi chặn với vòng lặp while, vòng lặp sự kiện sẽ không bao giờ chạy nên tôi không thể nhận tin nhắn.
Sẽ có một giải pháp cho vấn đề của bạn nếu ECMAScript là một ngôn ngữ phong phú như Scheme với 'call-with-continuation'. Điều này sẽ cho phép bạn nắm bắt được sự tiếp tục hiện tại và gọi nó một lần nữa trong trình xử lý 'onmessage' của bạn. – Marc