V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  googleaccount  ›  全部回复第 11 页 / 共 28 页
回复总数  552
1 ... 7  8  9  10  11  12  13  14  15  16 ... 28  
208 天前
回复了 jackrzhang 创建的主题 汽车 马上生小孩,需要车吗
其实我是不理解那些有条件也不买车的人
谢谢你陌生人,我笑了
212 天前
回复了 rehoni 创建的主题 汽车 预算 8-12 万求推荐车,油车电车都考虑
@googleaccount
一个人不可能同时拥有帝豪和自卑
212 天前
回复了 rehoni 创建的主题 汽车 预算 8-12 万求推荐车,油车电车都考虑
吉利帝豪 L 雷神 HiP.
不是你的问题哦 大环境如此
215 天前
回复了 dvbs2000 创建的主题 生活 感觉有一种生活方式挺有趣
家里条件好没必要这么折腾
家里条件不好容不得你这么折腾
215 天前
回复了 ghwolf007 创建的主题 职场话题 幸运的一个事业编来了不知道要不要去
你们已经成家立业有小孩了 而且没房贷 工资福利不是很好 去个大西北图啥?但凡换个发达地方我觉得就可以去了
听到有人在召唤我
10 年 10 倍多一点
泡茶
游戏
217 天前
回复了 glacer 创建的主题 职场话题 广州本科 9 年,拿 30k 真的很弱吗
弱不弱不知道 反正肯定不高不强
其实也还好 如果没有报一些乱七八糟的兴趣班 这点花费不算啥呢。报班才是最贵的
@googleaccount 咋格式呢
```javascript
const subscriptionRef = useRef(null);

useEffeect(() => {
...
if (subscriptionRef.current) {
subscriptionRef.current.unsubscribe();
}
...
subscriptionRef.current = timer()
...
return () => {
subscriptionRef.current.unsubscribe();
};
}, [refresh_token]);
```
我没测试上面这些代码,还一个简单粗暴的办法就是把定时器存在 ref 上 就不会出现这些问题了。
```js
const subscriptionRef = useRef(null);

useEffeect(() => {
...
if (subscriptionRef.current) {
subscriptionRef.current.unsubscribe();
}
...
subscriptionRef.current = timer()
...
}, [refresh_token]);
return () => {
subscriptionRef.current.unsubscribe();
};
})
```
```js
export function RefreshTokenComp({
refreshTokenActor,
}: {
refreshTokenActor: RequestActor<{
refreshToken: string;
}>;
}) {
const [access$, updateAccess] = useAccessMgr();
const access = useObservable(access$) || {};
const { refresh_token, expireAt } = access;
let sub:Timer
const [refreshTokenRequest] = useRequest(refreshTokenActor, {
onSuccess({ arg }) {
updateAccess(fromOAuthToken(arg.data));
},
});

useEffect(() => {
if (!refresh_token) return;
if (sub) sub.unsubscribe();
const expiresIn = moment(expireAt).diff(moment(), "s") - 120; // token 过期前二分钟左右刷新
sub = timer(expiresIn * 1000).subscribe(() => {
refreshTokenRequest({ refreshToken: refresh_token });
});
return () => {
sub.unsubscribe();
};
}, [refresh_token]);

return null;
}
``` 试试这样
你这个 refresh_token 每隔两分钟就会变 说明 useEffect 里面的定时器每隔两分钟就会执行一次 执行多了不就爆了没,每次执行前清空一下就好了
追求数据实时性 考虑用 websocket ?
218 天前
回复了 liv22 创建的主题 长沙 120w 是买长沙还是广州?
120w 全款只能去三四线城市买吧
219 天前
回复了 buyerhou 创建的主题 生活 停车位买卖问题
现在是买方市场 就等租客走了再买 他爱卖不卖吧 车位亏多很正常 开发商卖几年没卖完没五折出售呢。
1 ... 7  8  9  10  11  12  13  14  15  16 ... 28  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3014 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 14:22 · PVG 22:22 · LAX 06:22 · JFK 09:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.