これが、才能のあるコーダー仲間に伝えたい問題です。私は、JavaScript と通信できる C++ で記述されたカスタム Web コンテナーを持っています。C++ から JS へは同期 JS 関数呼び出しを行うことができます JS から C++ へは非同期 C++ 関数呼び出しを行うことができます
これらのツールを使用すると、JS から C++ への同期呼び出しを行う必要があります... メッセージ通信システムを使用できないため (何かを見逃さない限り、メイン スレッドで非同期性を意味するため)、最初に推測したのはワーカー スレッドを使用することでした。
「main.js」ファイル
var synctools = false;
var syncdata ="";
var myworker=new worker("demo_workers.js");
while(synctool == false){} //It s ugly but i haven t had any other ideas
「demo_workers.js」ファイル
CallCPPFile(param,callback); //call the c++ and c++ call callback when finished
function callback(data)
{
//do stuff
syncdata = data;
synctools = true; //this is supposed to stop the looping of the main js
}
残念ながら、synctools と syncdata はワーカー スレッドからアクセスできません。そこで、いくつか質問があります:
- ワーカーとメインスレッド間の別の通信方法はありますか? ナビゲーター オブジェクトを使用しようとしましたが、どちらも機能していないようです (2 つのスレッド間で同じナビゲーター オブジェクトかどうかはわかりません)。
- Web ワーカー以外に、目標を達成できる別の方法はありますか? (私も運がなかった約束を試みました)
ご協力いただきありがとうございます