如果 API 数据加载失败,那么做点啥

Posted

技术标签:

【中文标题】如果 API 数据加载失败,那么做点啥【英文标题】:If API Data Fails to Load then do something如果 API 数据加载失败,那么做点什么 【发布时间】:2014-02-26 20:14:08 【问题描述】:

我正在使用名为 wipmania 的地理查找 API 来找出用户来自哪个国家/地区并执行一些不同类型的事情。

jQuery.getJSON('https://api.wipmania.com/jsonp?callback=?', function (data)  
 // Do my code based on result here. 
);

我刚刚发现这个 API 现在失败了,所以我的网站没有执行代码,我需要某种回退。

我不确定,因为我无法访问他们的站点,如果记录在案的话,我怎么能说如果 2 秒后没有返回数据,然后做其他事情。

有没有人知道一种方法可以让 API 不返回任何内容。它基本上只是永远等待它回来。用 Puesdo 术语猜测寻找类似的东西

if API call returns data 
 // execute code per country
 else 
 // do other code as fallback we can't detect country

【问题讨论】:

【参考方案1】:

您可以使用 fail() 回调来处理 jQuery.getJSON() 的不成功结果。例如:

jQuery.getJSON( "example.json", function() 
    console.log( "success" );
)
.fail(function() 
    console.log( "Failed to get JSON" );
);

【讨论】:

谢谢你不知道.fail..现在我知道了!非常感谢 快速提问该函数是否需要在每个 function() 上包含 data ?例如 .fail(function(data) 按照我的例子? getJSON() 只是相当于 jQuery ajax 方法的简写。如果您需要此类信息,您可以查看 api 返回的内容(以及访问更广泛的 api)like so

以上是关于如果 API 数据加载失败,那么做点啥的主要内容,如果未能解决你的问题,请参考以下文章

每 180 度后做点啥

在 kivy 退出时做点啥

播放声音,等待它完成然后做点啥?

如何在 HTML5 音频中捕捉“停止”事件然后做点啥?

老年“剁手族”崛起:电商平台窃喜后该做点啥

viewpager preload会调用api来获取数据吗?