如何通过feathersjs客户端知道服务路径是否无效?

时间:2016-12-27 00:01:35

标签: node.js feathersjs

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
  }
})

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

1 个答案:

答案 0 :(得分:0)

使用REST客户端时,您将收到404或500错误,遗憾的是,websocket库没有简单的方法可以知道您发送的消息是否正在服务器上收听,因此您将超时(在这种情况下尝试调用任何服务方法时,默认值为5秒。有一个proposal for service introspection将会出现在下一个版本中。