如果未返回结果,则在10秒后获取数据

时间:2019-05-13 13:41:05

标签: javascript reactjs

我的应用程序获取了Web服务,由于无法控制的情况,有时响应速度可能很慢。看来,如果它在等待响应时陷入困境,解决方案是再次获取数据。如何使函数每10秒获取数据并在端点提供结果时停止?

2 个答案:

答案 0 :(得分:0)

在普通JavaScript中,您可以使用setInterval

var myInterval = setInterval(tryToGetData, 10000); // Try to get data every 10 secs

function tryToGetData() {
  // Get your data here, preferably as a promise
  yourDataPromise.then((data) => {
    clearInterval(myInterval); // Stop trying to get data every 10 secs
    // Do stuff with 

  });
}

但是,更好的方法是在承诺自然失败时重试承诺,方法是通过捕获承诺本身来再次获取数据。

答案 1 :(得分:0)

您需要设置一个计时器,该计时器每10秒获取一次数据 并且如果找到了数据,则将清除计时器,以免再次获取数据

Error type
Database migration error
Error Detail
Collector 'Microsoft.SqlServer.Migration.Core.Collectors.SqlLOBCountsCollector' failed to collect data.
An item with the same key has already been added.