Thanks to visit codestin.com
Credit goes to github.com

Skip to content

请求锁功能 #118

Description

@RamirezET

例如某个页面要请求多个接口,接口均需要token,此时token不存在或过期,这多个请求就会一起去请求token,能否提供一个功能类似是这样,请求前锁定,验证token有效或者无效了拿回真正token后,unlock同时发出的请求继续执行,这样就不会同时去请求token

request.interceptors.request.use((config) => {
	return new Promise((resolve, reject) => {
		// console.log("请求拦截器");
		request.lock()
		getAccessToken()
			.then((data) => {
				const {
					tokenType,
					value
				} = data
				config.headers['Authorization'] = tokenType + ' ' + value
				resolve(config)
				request.unlock()
			})
			.catch((error) => {
				request.unlock()
				reject(error)
			})
	})
})

当然也可以在每个请求resolve之后再执行下一个请求,但不那么优雅

谢谢大佬

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions