Weather Map API中refreshFetch()调用setupIntervalButton()的问题
Weather Map API定时器设置问题
我正在开发Weather Map API,在refreshFetch()函数中调用setupIntervalButton()时遇到问题:无法确保按钮在refreshFetch()执行前完成渲染,导致定时器(interval)无法正确设置。
相关代码
setupIntervalButton()函数
function setupIntervalButton(input,select,button){ console.log('Setting up event listener'); // Debugging line console.log('Button element inside setup:', button); // Debugging line button.addEventListener('click', () =>{ const intervalValue = input.value; const selectedInterval = select.value if (!intervalValue && !selectedInterval) { alert("Please provide numeric value and select interval type"); } else if (!intervalValue) { alert("Please provide numeric value for interval"); } else if (!selectedInterval) { alert("Please select interval type"); } else{ console.log(`Interval set to ${intervalValue} ${selectedInterval}`); } if(selectedInterval === "Seconds"){ console.log(intervalValue) return intervalValue * 1000 } else if(selectedInterval === "Minutes"){ console.log(intervalValue) return intervalValue * 60000 } else if(selectedInterval === "Hours"){ console.log(intervalValue) return intervalValue * 60 * 60 * 1000 }else{ return intervalValue * 1000 } }) }
refreshFetch()函数
function refreshFetch(){ window.setInterval(() =>{ fetchData() console.log('url fetched') },setupIntervalButton()) }
核心问题
setupIntervalButton()并未在refreshFetch()执行前完成按钮渲染,导致定时器无法正确设置。
错误截图

疑问
- 如何确保
setupIntervalButton()在refreshFetch()执行前正确完成定时器设置? - 是否可以让
setupIntervalButton()返回定时器时长,供refreshFetch()使用?
内容的提问来源于stack exchange,提问作者CentralDev
相关产品推荐
相关产品推荐

