access_token重复更新问题
来源:
快乐佳佳林
2016-10-03
获取access_token的代码部分,提供了被动刷新access_token的功能,用的promsise异步。假如access_token刚好失效,某个接口调用比如uploadMaterial 就会获取access_token然后发现无效然后主动更新,倘若此时有不止一个用户并发访问uploadMaterial接口,岂不是要触发很多次access_token更新?
写回答
2回答
-
对,这个取决于 access_token 的获取时间有多长,在这个获取时间内如果有其他用户也进来调用,会导致多次更新,这里可以做更精细的控制,比如把原来的 JSON 数据里存一个锁 updating: true,如果是要更新,刚好发现已经在更新了,那么就设置一个轮询等待就行了,更新后,再把这个改成 false,也可以存到数据库里的一个状态值等等。
在具体的生产环境中,是需要多考虑下这种更新时机和次序的问题,以及更新和等待时长的问题,多想到一些边界条件,做好预案总是靠谱的
122016-10-04 -
快乐佳佳林
提问者
2016-10-04
学习了
00
相似问题