我有一个有趣的困境。我正在使用骨干js构建一个"实时"的前端。应用程序。此应用程序将每15秒检查一次警报,问题是系统有时会超载 - 并且会抛出5xx错误消息或103错误。
我们想做的是说:
if 5xx || 103
do something.
else
do something else.
我有一个,尝试500,所以我有以下内容:
failedToPoll: function(collection, response) {
if (response.status === 500 || response.status === 103) {
if (this.refresh_interval < this.ONE_MINUTE) {
this.refresh_interval = this.ONE_MINUTE;
} else if (this.refresh_interval < 180000) {
this.refresh_interval = this.refresh_interval + this.ONE_MINUTE;
}
this.poll();
} else {
if (this.refresh_interval < this.ONE_MINUTE) {
this.refresh_interval = this.refresh_interval + 5000;
}
this.poll();
}
},
所以这说明如果我们没有极点,它是500还是103,如果是这样我们不到一分钟 - 是的,放弃它 - 然后再次轮询(一分钟后)。如果我们超过一分钟和500或103,则增加60秒直到180秒。
如果我们不是103或500,则每次轮询失败时增加5秒至最多1分钟。
问题?
它应该读取,如果我们是5xx(任何500错误消息)或103 do x。
任何想法?
答案 0 :(得分:2)
if (((status >= 500) && (status <= 599)) || (status == 103))