代码之家  ›  专栏  ›  技术社区  ›  Sithys

处理Angular 5 Service Post请求中的脱机服务器

  •  1
  • Sithys  · 技术社区  · 6 年前

    当我的节点后端不存在时,我想处理它。我使用的是mean stack和cors中间件 app.use(cors()) 是的。

    所以我试着用 rxjs timeout 在我的请求中->

    return this.http.post('http://192.168.45.20:3000/bookings/', booking, {headers: headers})
        .timeout(3000)
        .map(res => res.json());
    }
    

    当我的服务器联机时,一切正常,但是当请求被发送并且我的服务器脱机时,我会直接得到一个错误

    已阻止跨源请求:同一源策略不允许读取 位于的远程资源 https://192.168.45.20:3000/bookings 是的。(原因: CORS攻击失败)。

    那么我如何处理我的Angular5服务中的服务器离线状态呢?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Pierre Clocher    6 年前

    你能做的就是

    • 通过服务工作者向角度应用程序添加缓存逻辑( https://angular.io/guide/service-worker-getting-started )
    • 当网络不可用时检测(可选地,您可以向用户提供视觉反馈)。使用本地存储保存系统,您可以在网络可用时计划更新,这要归功于复制系统

    ps:http拦截器对此很有用