リモート URL のコンテンツを非同期的に取得し、それを処理してから、AJAX を使用せずに現在のドキュメントに出力することができた人がいるのだろうかと思いました。
3 に答える
file_get_contents ではありません。または、CURL 拡張機能とそのノンブロッキング IO 機能を使用できます。これらはすべて、CURL のマルチ ハンドラを介して利用できます。結果をポーリングし、結果を読み取る準備ができていない場合は他の処理を続行できるという意味で「非同期」です。これは、やるべき仕事がある限り、ブロックしたり応答を待ったりすることがないという意味で「非同期」になります。一部の人にとって理解しにくいのは、非同期と非ブロックの違いです。 、ほとんどの場合、PHP で本当に必要なのはある種の NB I/O です。いくつかの抽象化レイヤーがあれば、anon 関数のすべての楽しみを備えた素敵な IO コールバック インターフェイスを実際に思いつくことができますが、それは別の話です..
http://www.php.net/manual/en/function.curl-multi-init.phpを参照してください。これが開始点です。含まれている例は素晴らしいhttp://www.php.net/manual/en/を参照してください。 function.curl-multi-exec.php NB ポーラーについては、http: //www.php.net/manual/en/function.curl-multi-select.php を参照してください。
この男はカールの容易さを避け、別のソリューションである http プロトコルの処理に直行します https://segment.io/blog/how-to-make-async-requests-in-php/が、もう少しソケット API の知識。
乾杯
PHP はシングルスレッドです。別のプロセスをフォークするには、ブラウザー機能を使用する必要があります。
Javascript は非同期にすることができ、場合によってはそれが必要になります。