私はサードパーティのライブラリを扱うときに簡単にできる小さなjavascriptフレームワークを作成しようとしています。たとえば、あなたがコードを使用し、接続を確立するように、このライブラリは、主に非同期です:非同期要求のカプセル化
var com = establishConnection("api-key");
com.onsuccess = function(c) {
c.submit("something");
};
私が欲しいのは、単に
var com = establishConnection("api-key");
com.submit("something");
を行うことができるように私のラッパーのフレームワークを使用することができることです
明らかに、元のライブラリの非同期性を扱う方法が必要ですが、コマンドを実行する前に接続が確立されるまで待つことになります。誰もが何かアドバイスを持っています、私は
function submit(msg) {
while (!connectionEstablished) {}
// do submit stuff
}
すなわち
、接続が確立されているかどうかと言うと、遅延をループのいくつかの種類を使用するようにフラグを設定するような何かを行うことができます知っているが、それは、そのような醜いハックのように思えますこれを行うためのより良い方法のために?
ええ、残念ながら、私は非同期性を隠蔽しなければならない点がいくつかあり、より良いソリューションを望んでいました。ほとんどの場合、非同期リクエストはかなり速く、ローカルサーバーを介して実行されますが、私がマスクする動作を選択するだけで、完全に必要なときのみブロックすることができます。ありがとう –