この記事では、WeChat アプレットの 10 リクエストの同時リクエスト制限に関する最適化ニュースをお届けします。 ! !困っている友人は参考にしていただければ幸いです。
これは冷たいニュースかもしれないので、タイトルのほうが刺激的です。
ミニ プログラムの同時実行数の制限は、最初にリリースされたときは 5 回の同時実行数でしたが、その後は 10 回の同時実行数にまで変更され、同時に発行されるリクエストの数がこの制限を超えると、制限が適用されます。多くの開発者がプロジェクトに「リクエスト キューイング」ホイールを組み込んできました。しかし、実際には、この制限は 1 年半前に WeChat によって正式に解除されました。
同時実行制限 10 リクエスト
同時実行制限については、WeChat 開発者ドキュメントに次のように記載されています:
この制限は、同時に、wx.request、wx.uploadFile、および wx.downloadFile の合計数が 10 を超えることができないことを意味します。
今日に至るまで、このルールを遵守している開発者は数多くいます。
ビジネス文書を作成するときに、多くの人がリクエストの数を注意深く管理します。リクエストの数を制御するために、一部の並列リクエストが特にシリアルに変更されるか、ミニ プログラム リクエストを維持するためにリクエスト キューが導入されます。
これらの上級開発者がこのルールを遵守するために費やした努力は、金額を超えた後に残酷な放棄を求めた初期の頃の彼らの無力さを多少反映しています。
ミニ プログラム基本ライブラリのバージョン 1.3.0 のコンソール エラーを添付します。
今日まで、ミニ プログラムの同時実行制限を解決する方法についてまだ開発者が議論しています
無視されるメッセージ
実際、WeChat は基本ライブラリをバージョン 1.4.0 にアップグレードする際にこれを実行しました。 2017 年 7 月の最適化では、同時実行制限を超えるリクエストはキューに入れられますが、多くの開発者はこのニュースを知りませんでした。
厳密に言えば、この最適化によって元の同時実行制限が完全に解除されるわけではありません。同時に処理できるリクエストの現在の上限は 10 ですが、10 を超えるリクエストはキューに入れられ、前のリクエストが完了すると、キュー内のリクエストが順番に送信され、処理されます。 * そのまま 10 を超えることはありません。 before リクエストは破棄されます。
Attachment Mini Program Basic Library 1.4.0 update log (part):
これで、ようやくリクエストの同時実行性を無視できるようになりました。制限あり、喜んでリクエストを送信しました。結局のところ、すべてのリクエストを送信できますが、効率は 同時実行制限なし よりも遅くなります。
リクエスト送信の正しい姿勢
前述のように、WeChat アプレットは、基本ライブラリのバージョン 1.4.0 で同時実行制限を超えるリクエストのキュー処理を追加します。 、1.4.0 より前のバージョンでは、同時実行部分を超えるリクエストは破棄されます。
WeChat 公式データによると、2018 年 12 月の時点で、バージョン 1.4.0 未満のユーザーの割合は約 0.04% でしたが、現時点では小規模なプログラムがこのような低いバージョンと互換性を持つことはほとんどありませんが、一部のプログラムには適しています#。 # #特別なニーズを伴う小規模なプログラム また、基本ライブラリの違いにも注意してください。
もう 1 つ注意すべき点は、ミニ プログラムの同時リクエストのキュー メカニズムです。同時に 10 個を超えるリクエストが呼び出された場合、アプレットはまず 10 個の同時リクエストを開始し、10 個を超える部分は呼び出しの順序でキューに入れられます。前のリクエストが完了すると、キュー内の次のリクエストがキューに入れられます。送信されます。 20 リクエストの同時テストを添付します:##テスト結果:
図からわかるように、最初の 10 個のリクエストは同時に送信され、後続のリクエストの開始点は前のリクエストの終了点に対応しており、これはリクエストのキューイング動作を反映している可能性があります。
これは、リクエストに対する応答が遅い場合には、リクエストの重要性と応答時間に応じて、キューイング戦略を準備し、呼び出し順序を調整する必要があることを意味します。長時間の待機を避け、ユーザー エクスペリエンスに影響を与えるために、タイムアウト処理を実行することを検討できます。
以上がWeChat アプレットの 10 リクエスト同時実行制限の最適化ニュース! ! !の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。