需要检查任何500

时间:2014-08-18 14:05:55

标签: backbone.js

我有一个有趣的困境。我正在使用骨干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。

任何想法?

1 个答案:

答案 0 :(得分:2)

if (((status >= 500) && (status <= 599)) || (status == 103))