4

そのため、RequireJS と Socket.io を使用して、socket.io リソースが利用可能かどうかを確認し、接続時にアプリをブートストラップするアプリを作成しています。socket.io が一時的にダウンした場合に備えて、requireJS でリソースが利用可能になるまでリソースを数回ポーリングしてから、アプリケーションの初期化を続行したいと考えています。

残念なことに (またはおそらく幸いなことに?)、require には、ロードされないスクリプトの scripterrors を登録するある種のキャッシュ メカニズムがあるようです。リソースが利用可能になった場合でもエラーをスローします。

これは見落としですか、それともこのエラーをキャッシュしておく理由はありますか? さらに重要なことに、retry を要求できるようにする回避策はありますか?

これが私が試してきたことの例です:

function initialize() {
  require(['socketio', function(io) {
    io.connect('http://localhost');
    app._bootstrap();
  }, function(err) {
    console.log(err);
    setTimeout(initialize, 10000);
  });
}
4

1 に答える 1