vueおよびvueリソースを使用して起動します。 バックエンドで私はlaravelを使用しています。ここでjwtトークンを処理します。 要求ごとにトークンがリフレッシュされます。私は以下のようにVUEのリソースで行に2つの要求を送信する場合 ::今のところ、これは1つの状況を除いて、素晴らしい作品Vueは2つの有効なトークンを1つだけ要求します
//first request
Vue.http.get('/api/runs').then((response) => {
return response.json();
}, (response) => {
console.log(response);
this.$set('error', {'status' : response.status, 'error': response.statusText});
});
//second request
Vue.http.get('/api/meta').then((response) => {
return response.json();
}, (response) => {
console.log(response);
this.$set('error', {'status' : response.status, 'error': response.statusText});
});
のみ最初の要求が有効なトークンを持っています。 私はインターセプタを経由して、トークンを設定しています:
Vue.http.interceptors.push((request, next) => {
request.headers['Authorization'] = Auth.getAuthHeader();
request.emulateJSON = true;
next(function(response) {
if(response.headers['Authorization']) {
var token = response.headers['Authorization'];
localStorage.setItem('jwt-token', token);
}
});
});
この問題が発生し、両方の要求が新しいJWTトークンを設定することができますインターセプタ前に平行に発射されているため。 私の質問は、最初のものが完全に終了するまで、またはインターセプタを強制的に強制的に待機させるまで、2番目の要求を強制する方法です。