非同期 Javascript 関数は同期的に呼び出すことができますか?
JavaScript では非同期プログラミングが一般的ですが、特定のシナリオでは既存の同期関数の同期関数呼び出しが必要になる場合があります。コードベース。このアプローチの性質が最適ではないことは認識していますが、時間の制約により、非同期呼び出しをより大きな同期コードベースに組み込む必要がある場合があります。
コールバック関数のブロック
課題非同期関数からのコールバックが受信されるまで呼び出し関数の実行をブロックすることにあります。主な考慮事項は次のとおりです。
実装例:
function doSomething() { var data; function callBack(d) { window.data = d; } myAsynchronousCall(param1, callBack); // Start polling var intvl = setInterval(function() { if (window.data) { clearInterval(intvl); console.log(data); } }, 100); }
のリファクタリング非同期コンプライアンス:
ただし、理想的なアプローチは、呼び出し元の関数を変更し、非同期操作を処理するコールバックを渡すことであることに注意してください。これにより、同期コードベースの機能を犠牲にすることなく、非同期の整合性が維持されます。
function doSomething(func) { function callBack(d) { func(d); } myAsynchronousCall(param1, callBack); } doSomething(function(data) { console.log(data); });
以上が非同期 JavaScript 関数を強制的に同期的に実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。