最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在NodeJS中格式化GRPC处理程序

IT培训 admin 4浏览 0评论

在NodeJS中格式化GRPC处理程序

我是GRPC的新手,我想学习使用gRPC和NodeJS的错误格式。

[每当我们需要为gRPC服务器构建请求处理程序时,我们都将遵循以下模式:

 * getFeature request handler. Gets a request with a point, and responds with a
 * feature object indicating whether there is a feature at that point.
 * @param {EventEmitter} call Call object for the handler to process
 * @param {function(Error, feature)} callback Response callback
 */
function getFeature(call, callback) {
  callback(null, checkFeature(call.request));
}

我很清楚什么是call参数,以及如何使用回调。

我的问题是,回调的第一个字段应该看起来像什么?我认为nodeJS中没有错误标准,看来这应该是gRPC特定的格式。

我环顾四周,有一个标准gRPC status codes。那是错误字段吗?表示状态的int值,如果一切正常,则返回0(否则为零)?

回答如下:

您有一些选择。像JavaScript中大多数基于回调的异步API一样,该回调接受常规的JS Error对象。这将转换为UNKNOWN状态代码。您还可以将错误对象上的code属性设置为grpc.status枚举的成员。例如,您可以执行error.code = grpc.status.NOT_FOUND发送“未找到”错误。另外,您可以将错误对象上的metadata属性设置为grpc.Metadata类的实例,以与错误一起发送其他尾随元数据。

最重要的是,您还可以传递带有details字符串以及与上述相同的codemetadata属性的简单对象。例如:

callback({details: "Entry not found", code: grpc.status.NOT_FOUND});

请注意,如果一切正常,则该错误参数应为null

在NodeJS中格式化GRPC处理程序

我是GRPC的新手,我想学习使用gRPC和NodeJS的错误格式。

[每当我们需要为gRPC服务器构建请求处理程序时,我们都将遵循以下模式:

 * getFeature request handler. Gets a request with a point, and responds with a
 * feature object indicating whether there is a feature at that point.
 * @param {EventEmitter} call Call object for the handler to process
 * @param {function(Error, feature)} callback Response callback
 */
function getFeature(call, callback) {
  callback(null, checkFeature(call.request));
}

我很清楚什么是call参数,以及如何使用回调。

我的问题是,回调的第一个字段应该看起来像什么?我认为nodeJS中没有错误标准,看来这应该是gRPC特定的格式。

我环顾四周,有一个标准gRPC status codes。那是错误字段吗?表示状态的int值,如果一切正常,则返回0(否则为零)?

回答如下:

您有一些选择。像JavaScript中大多数基于回调的异步API一样,该回调接受常规的JS Error对象。这将转换为UNKNOWN状态代码。您还可以将错误对象上的code属性设置为grpc.status枚举的成员。例如,您可以执行error.code = grpc.status.NOT_FOUND发送“未找到”错误。另外,您可以将错误对象上的metadata属性设置为grpc.Metadata类的实例,以与错误一起发送其他尾随元数据。

最重要的是,您还可以传递带有details字符串以及与上述相同的codemetadata属性的简单对象。例如:

callback({details: "Entry not found", code: grpc.status.NOT_FOUND});

请注意,如果一切正常,则该错误参数应为null

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论