axios進行請求的重發,請求/響應攔截,Token刷新

請求攔截

// 進行請求的攔截
axios.interceptors.request.use(
	// 正常攔截
	request => {
	 // doSomethings
	},
	// 發生錯誤
	error => {
	  // error handle
	});

響應攔截

// 進行響應的攔截
axios.interceptors.response.use(
	// 正常攔截
	response => {
	 // doSomethings
	},
	// 發生錯誤
	error => {
	  // error handle
	});

刷新Token並重發請求

例如:在響應中需要進行Token的校驗,失效後進行Token的刷新並重發請求
請求重發的注意點是,使用響應裏的config作爲參數進行重發

axios.interceptors.response.use(
	response => {
		// 判斷是否需要Token刷新
		if (...) {
			// 刷新Token(可以使用同步操作)
			...
			// 將新的Token設置到axios的默認請求頭
			axios.defaults.headers.common['token'] = newToken;
			
			// 將新的Token設置到重發的請求頭
			response.config.headers.token = newToken;
			
			// 請求重發
			return axios.request(response.config);
		}
		
	});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章