私はテスト目的のために長い時間がかかりますが、Javascriptでこれを行う良い方法が見つからないメソッドを模倣しようとしています。非常に長いforループを書く以外に良いアプローチはありますか?Javascriptでブロッキング同期メソッドを作成するにはどうすればよいですか?
答えて
function sleep(milliSeconds){
var startTime = new Date().getTime(); // get the current time
while (new Date().getTime() < startTime + milliSeconds); // hog cpu until time's up
}
ニース。後見ではかなり明白です。 –
これにより、JavaScriptエンジンが他のスレッド(Firefox <4.0などのブラウザではタブを切り替えるなど何もしない)をブロックする可能性があります。最終的にブラウザはこれに気づき、スクリプトを終了します。いい考えではない。 –
Chromeで動作しますこれは明らかに配備されたコードに入っていません:) –
スクリプトによって要求された一定の時間だけ応答を延期するサーバーに対して、同期AJAX呼び出しを行うことができます。ただし、このメソッドは同期AJAX呼び出しをサポートしていないため、Firefoxでは動作しません。
ただ、クライアント側では、この単純な関数を使用します。
function sleep(microseconds) {
var request = new XMLHttpRequest;
request.open("GET", "/sleep.php?time=" + milliseconds);
request.send();
}
サーバー側のsleep.php
のコード:例外
usleep(intval($_GET("sleep")));
は今、あなたはJavaScriptでの同期機能を遮断作成することができます( of Firefox):
alert("Hello");
sleep(1000000); // sleep for 1 second
alert("World");
+1よく知っているが、あまりにも多くの仕事:) –
- 1. Javascriptでゼロから非同期マップ関数を作成するにはどうすればよいですか?
- 2. Playフレームワークで非同期/非ブロッキングMySQLクエリを実行するにはどうすればよいですか?
- 3. RiveScriptのjavascriptオブジェクトマクロで同期取得リクエストを作成するにはどうすればよいですか?
- 4. 非同期メソッドを持つパッケージを作成するにはどうすればよいですか?
- 5. Javascriptは同期(ブロッキング)または非同期(非ブロッキング)でデフォルトでは
- 6. JavaScriptでクラスを作成するにはどうすればよいですか?
- 7. JavaScriptでイメージフェイスマウスを作成するにはどうすればよいですか?
- 8. JavaScriptでメモリリークを作成するにはどうすればよいですか?
- 9. JavaScriptでファイルを作成するにはどうすればよいですか?
- 10. UnsatisfiedLinkError:同期化されていないデフラータを作成するにはどうすればよいですか?
- 11. メソッドのMethodCallExpressionを作成するにはどうすればよいですか?
- 12. スレッドのメソッドを作成するにはどうすればよいですか?
- 13. Angular2で同期を使用してhttpを作成するにはどうすればよいですか?
- 14. RxNETで非同期HTTPリクエストを作成するにはどうすればよいですか?
- 15. C#で非ブロッキング非同期ゲートを作成する
- 16. Wordpressでカスタムフィールドを同期するにはどうすればよいですか?
- 17. 管理共有メモリセグメントに同期メカニズムを作成するにはどうすればよいですか?
- 18. Alamofireを使用して同期リクエストを作成するにはどうすればよいですか?
- 19. スレッド間の同期はどうすればよいですか?
- 20. C#でどのように非同期メソッドを作成しますか?
- 21. UITableViewCellsの非同期イメージダウンロードセンターを作成するにはどうすればよいですか?
- 22. 非リターン/パラレル非同期関数のスタブ/スパイを作成するにはどうすればよいですか?
- 23. JavaScriptのStringの置換メソッドを作成するにはどうすればよいですか?
- 24. TaskFactory.StartNew <Task<Result>を非同期メソッドで使用するにはどうすればよいですか?
- 25. FileOpenPicker用のUWPで非同期メソッドを待機するにはどうすればよいですか?
- 26. 非同期メソッドと同期メソッドで同じインターフェイスを共有するにはどうすればよいですか?
- 27. Androidレイアウトビューを同期するにはどうすればよいですか?
- 28. 非同期コールバックをテストするにはどうすればよいですか?
- 29. JavaScriptで非同期ジェネレータを使用するにはどうすればよいですか?
- 30. メソッドを非同期に実行するにはどうすればよいですか?
非常に長いループで何が間違っていますか?または時間をチェックするループ? – Joseph
何も間違っていません。ちょうど 'sleep(milliseconds)'のようなことをしたいと思っています。ループの大きさを把握するのは難しいですが、試行錯誤で修正できないものはありません。 –
Firefoxでは、非同期のJavaScript呼び出しを行うために、[trampolining](http://tobyho.com/2010/12/10/trampolines-in-javascript-and/ "Javascriptのトランポリンとより少ないネストされたコールバックのためのクエスト")を使用できます同期。 –