我开始疯狂地试图找出问题与我的代码有什么关系。我正在构建一个React Native应用程序,并在运行run-ios后在IOS Simulator中进行开发。我启用了Debug JS Remote,因此我可以验证从服务器返回的令牌的状况。
我正在尝试构建一个简单的服务,它将使用setTimeout刷新我的标记。
let sessionTimeout = null;
export const session = (response) => {
let tokens = response.tokens;
Store.set(tokens);
setSessionTimeout(tokens.access.expiresIn);
};
const setSessionTimeout = (duration) => {
let time = duration - 5000;
clearTimeout(sessionTimeout);
sessionTimeout = setTimeout(() => {
console.log('settimeout called');
refreshToken();
}, 1000);
};
const refreshToken = () => {
let tokens = Store.get();
refresh(tokens)
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
};
在上面的代码中,我通过硬编码1000开始了我的初步测试,它运行良好。它成功地调用了我的服务器。然后我尝试实施适当的持续时间,发现它不起作用。即使用2000替换1000也会导致失败并且永远不会调用后端。
然后我尝试使用以下软件包并获得相同的结果:
反应天然定时器
反应定时器-MIXIN
将我的头撞到墙上两天并再次尝试堆叠,因为我的问题无法再现,我禁用了Debug JS Remote,一切都按预期工作。
但是现在我想知道如何在不使用此功能的情况下调试应用程序的前端部分。如果有人对此类问题有任何想法或建议,我会很感激反馈,因为这是我的第一个React Native应用程序。