【发布时间】:2021-06-02 07:23:47
【问题描述】:
我正在使用 setInterval 连续向节点服务器发送 GET 请求,以根据 playerState 同步 2 个 youtube 嵌入播放器。 useEffect hook 用于在 mount 时调用 setInterval 函数。这个 setInterval 调用 controlPlayer 函数。我使用 console.log 来测试代码。 controlPlayer 函数执行几秒钟console image 并停止执行
const controlPlayer = async () => {
try {
const { data } = await axios.get('/api/getplayerstate');
const res = data.playerState;
if(res == 1) {
player.playVideo();
console.log(res);
}
else if(res == 2) {
player.pauseVideo();
console.log(res);
}
} catch(error) {
console.log(error);
}
}
useEffect(() => {
setInterval(controlPlayer, 1000);
}, []);
我看到了很多问题,但我不知道问题是什么。这可以解决还是有任何替代逻辑?
【问题讨论】:
-
您的 console.log 语句位于
if块内,这意味着它们将有条件地执行;尝试在try块之前添加一条日志语句。 -
可能是您的 api 由于错误或限制而停止响应