Re: getStatisticsRangDay 调用报错。
我这边可以增加节流,但我并没有频繁使用,只在useEffect中调用这个api,各调用一次,后续不再重新获取。以前可以实现我的目的,但最近无法实现了。
我这边可以增加节流,但我并没有频繁使用,只在useEffect中调用这个api,各调用一次,后续不再重新获取。以前可以实现我的目的,但最近无法实现了。
今天测试了一下,又能正常使用,没有报错了。这会不会是服务器不稳定造成的?
这个统计服务存在根据当前资源情况、调用情况等多种判断条件进行限流,所以业务层建议不要在 1s 内频繁调用,根据 debounce 做一层限制进行请求防抖,避免触发请求限流。
遇到同样的问题,延迟2秒后再去调用一次,getStatisticsRangDay依旧会出现的报错,这没有频繁吧,或是给出个标准时间间隔也是挺好的
确认下是在海外区调用的吗?
感觉,都有这个问题
上午是带VPN,调用的,有报错
刚刚没有VPN,肯定是国内了,有报错
lshinylee 2024年 Sep 11日 09:25这个统计服务存在根据当前资源情况、调用情况等多种判断条件进行限流,所以业务层建议不要在 1s 内频繁调用,根据 debounce 做一层限制进行请求防抖,避免触发请求限流。
Code: Select all
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
const fetchDataWithDelay = async (item) => {
await fetchHour(item); // 获取小时数据,填入 daydate
await delay(2000); // 延迟2秒
await fetchDay(item); // 获取当天数据,填入 daydate
await delay(2000); // 延迟2秒
await fetchMonth(item); // 获取月数据,填入 monthdate
await delay(2000); // 延迟2秒
await fetchWeek(item); // 获取周数据,填入 weekdate
// console.log('chartitem', item);
};
const debouncedFetchData = debounce(fetchDataWithDelay, 2000);
useEffect(() => {
const fetchAllData = async () => {
for (const item of items) {
await debouncedFetchData(item);
}
};
fetchAllData();
}, [items]);
我今天发现又无法正常获取,所以增加了延迟和防抖,但是依然报错,报错如下。vpn开和不开我都试过了,都无法获取。
Code: Select all
Error fetching data: {"errorCode": 40015, "errorMsg": "miniapp highway request error", "innerError": {"errorMsg": "Error Domain=com.thing.www Code=500 "server busy" UserInfo={NSLocalizedDescription=server busy}", "errorCode": "500"}}
麻烦提供下可复现的设备id和触发时间点?我们分析下看看,这种不像是预期现象
设备id:6cc8b6225898a2a9dcvnjs。我的触发时间是进入在进入页面首次渲染完成后触发一次,且后续不再触发重新渲染。
今天12:00又能正常获取了。
Code: Select all
useEffect(() => {
const fetchAllData = async () => {
for (const item of items) {
await debouncedFetchData(item);
}
};
fetchAllData();
},[]);
通过你提供的设备 id 我们排查日志发现以下几个问题:
6cc8b6225898a2a9dcvnjs 这个设备对应的产品只开通了功能点 107(4G流量统计)的 sum 类型统计,日志里存在不少请求了未配置统计功能的功能点,如(devId:6cc8b6225898a2a9dcvnjs,dpId:109, typesum, intervalONE_DAY),这个需要你这边排查下代码。
我们发现这种错误日志没有很好的抛出来,国庆节后会尽快修复,方便明确具体错误原因。