私は現在APIにいくつかの変更を加えています。ここでの問題は、別のサーバーからデータを要求することですが、サーバーがリクエストを処理するために、セキュリティのためにトークンが有効であり、まだ生きている(トークンが2秒間続く、私は英語で正しくそれを置く方法を知らなかった、申し訳ありません)、そしてすべてがうまくいきます。トークンがOKでないなら、何も頼むことはできません。間隔を置いてリクエストを行うためのよりエレガントで効率的な方法は何ですか?
ここで、APIはトークンを最初に要求せずに要求を行い、現在のトークン(APIが起動されたときにトークンを要求するため)が無効である場合、エラーをキャッチし、新しいトークンを要求した後、再度要求を行います。
私はそれが好きではありません。私は、エラーをキャッチするのではなく、2秒ごとに新しいトークンを要求すると、はるかに簡単で明確になると感じています。
私はこれをどのようにエレガントで効率的な方法で達成できますか?私が今考えている最も基本的な形は、タイマーを使って2秒ごとに自己実行機能に約束することです。しかし、私はそれがそれを行うための最善の方法だとは思わない。助言がありますか?
2秒ごとに新しいトークンを要求し続けるのは良い考えではありません。これは、特にトークンのほとんどが使用されなくなると、サーバーに不必要な余分な負荷をかけることになります。変数 'var validToken'を作成し、有効なトークンを受け取ったら' validToken = true'に設定し、 'setTimeout'を2秒間実行して' validToken = false'に設定してください。 'validToken == false'の場合、API呼び出しを行う前に新しいトークンを要求します。 – Hoyen
はい、私はこれも尋ねるつもりでしたが、私は昼食のために外出しなければなりませんでした。 2秒の有効期限が本当に必要ですか?同様に、1〜2分でなければならないかもしれません。新しいトークンは、保留中のリクエストがある場合にのみ取得する必要があります。 – DragShot
有効期限は、APIを作成したユーザーによって設定されますが、それは私の責任ではありません。 –