|
小程序的开发中,使用了第三方的数据接口. 遇到了如下问题: 在onload的方法中,用了两次wx.request方法,去请求第三数据,结果就报错了。但是如果只写一个wx.request这两个接口,都可以正确返回数据。这难道是微信不可以使用两次wx.request方法?? 想想应该不可能,看了一下报错信息, 提示: ERROR, API rate limit exceeded 其中,包含了一个状态码: 429 百度了一下:HTTP的状态码 429 Too Many Requests (太多请求) 当你需要限制客户端请求某个服务数量时,该状态码就很有用,也就是请求速度限制。 看了429的解释,在看看错误提示. 原来是第三方接口的限制。接口对于客户端的请求数进行了限制。 那如何解决了呢? 在第一个请求方法,成功的回调函数中,在去发起第二个请求。结果测试后,还是不行,因为第一个请求的回调函数执行,说明第一个请求还没有结束,还和第三方有交互,在进行第二次请求就会报错。 最后,想到了一个解决办法。使用setTimeout 去调用第二次请求方法。问题得到解决.(目前,只用这样的方法来解决了,欢迎探讨,是否还有其它的解决方法) 如下图: 图片:request.png
参考 : https://www.cnblogs.com/shanyou/archive/2012/05/06/2486134.html https://stackoverflow.com/questions/24854293/tumblr-api-v2-error-code-429-rate-limit-exceeded-you-are-being-rate-limited |
|
