微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的 fetch 调用偶尔会返回不完整的数据?

如何解决为什么我的 fetch 调用偶尔会返回不完整的数据?

我正在使用 here Traffic API,它应该返回如下内容: {TIMESTAMP: "03/14/2021 19:40:57 GMT",VERSION: 5,TRAFFICITEMS: {…}}

它大部分时间都有效,但每隔一段时间它就会返回: {TIMESTAMP:“03/14/2021 19:40:57 GMT”,版本:5}

第二个示例是如果没有交通事故,但进一步刷新将返回第一个示例。代码中没有任何变化;我只是刷新页面。 不管返回没有错误;就是不知道为什么偶尔会不准确

    return fetch(`https://traffic.ls.hereapi.com/traffic/6.0/incidents.json?corridor=36.18377,-86.69355;36.08026,-86.92807;36.14638,-86.80963;36.18377,-86.69355%3B20&apiKey={API Key}`)
    .then(res => {
        if (res.ok) {
            console.log("got a good response",res) 
            return res
        } else {
            console.log("you don't want that response")
        }
    })
    .then(res => res.json())
    .then(res => console.log("response",res))

解决方法

预期行为是如果没有可用的交通事件,则响应中没有trafficitems 元素。你刷新的频率是多少?当您执行重现您报告的问题的请求时,您能否提供准确的时间戳?有一个更新的端点可用:traffic.ls.hereapi.com/traffic/6.3/incidents.json

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。