首页 > 解决方案 > VBA 中的 REST GET 调用返回“完成此操作所需的数据尚不可用”

问题描述

我正在处理从 excel vba 到我的数据库的 REST API 调用,并且我在使用带有参数的特定 GET 调用时遇到问题。错误是“运行时错误'-2147483638(80000000a)':完成此操作所需的数据尚不可用”。

以前在其中一种环境中,我可以通过输入 40 秒的 Application.wait 来绕过它。但是我有另一个更慢的环境,并且没有多少等待时间会导致数据填充到 .responseText 中。在 vba 之外,通话在 50 秒内有效,所以我尝试了 50 到 8 分钟,但没有运气。关于如何让这个 GET 调用在这个较慢的环境中工作的任何想法?

下面是我正在使用的代码:

URL = ".../?q=%7B%22testid%22:%22" & vSAMPLE_ID & "%22%7D"        
        http.Open "GET", URL, True
        http.setRequestHeader "Accept", "application/json"
        http.setRequestHeader "Accept-Encoding", "application/json"
        http.send
        Application.Wait (Now + TimeValue("0:01:20"))
        vRESTRESPONSE = http.ResponseText

标签: excelvbarest

解决方案


你能不能不异步请求,所以等待响应多长时间都没关系?(只要服务器没有使请求超时)或者下一步是否依赖于该请求的响应?


推荐阅读