1

Feathersjs 客户端提供了一个很好的 API,用于通过 rest 和 socket 方式向服务器发送消息。但我不知道如何在客户端检测到错误的服务路径。让我们以下面的代码为例:

const feathers = require('feathers-client')
const Primus = require('../public/dist/primus.js')
var primus = new Primus('http://localhost:3030');
var app = feathers()
  .configure(feathers.hooks())
  .configure(feathers.primus(primus));

var service = app.service('/test-servcie/ssss')

上述代码的最后一行包含错误的服务路径 ( /test-servcie/ssss)。错误的服务路径意味着在此路径上没有服务侦听。之后,我使用以下代码向服务发送消息:

service.create({}, {
  query: {
    hostname: 'localhost',
    port: 27017
  }
})

由于服务路径不存在,因此服务器端没有任何反应。但我也没有在客户端收到任何错误消息。如何知道客户端的服务路径无效?如果路径不存在,我想显示一些错误消息。

4

1 回答 1

0

使用 REST 客户端时,您将收到 404 或 500 错误,不幸的是,websocket 库没有简单的方法来知道您发送的消息是否正在服务器上被侦听,因此您将获得超时(默认为 5秒)在这种情况下尝试调用任何服务方法时。有一个关于服务自省的提议,不过它将在下一个版本中出现。

于 2016-12-27T18:15:05.937 回答