如何在Thrift调用中返回结构类型数据?

时间:2018-02-20 21:11:48

标签: javascript json node.js thrift

我有以下服务定义:

struct GAPFStatus {
    1: string faculty,
    2: bool submitted
}

service Trident {
    GAPFStatus getGAPFStatus(1: i32 faculty_id),
}

在我的服务器代码中,我使用以下内容:

  ...

  getGAPFStatus: (facultyID, result) => {
    const status = new ttypes.GAPFStatus();
    status.faculty = facultyID;
    status.submitted = false;
    return status;
    result(null, status);
  },

  ...

当我对我的状态使用console.log时,我得到{ faculty: 10, submitted: false }。这是对的。在客户端,我有以下代码。

  client.getGAPFStatus(facultyID, (err, response) => {
    console.log(response);
    res.json(response);
    connection.end();
  });

当我在服务器的响应中使用console.log时,我得到undefined。我不确定为了使用我的GAPFStatus结构我应该怎么做。节点tutorial似乎以与我相同的方式从服务器返回对象。

1 个答案:

答案 0 :(得分:0)

在服务器端设置结果中删除返回状态(空,状态)会自动将结果发送回客户端。