nodejs怎么调用thrift接口

nodejs怎么像调http接口一样调用thrift接口

阅读 7.6k
2 个回答

需要用工具生成代码后调用,生成方法参见apache thrift 的get started部分

然后引用生成的代码到工程,调用示例:

var Calculator = require('../gen-nodejs/Calculator');
var ttypes = require('../gen-nodejs/tutorial_types');
var wrapper = require('co-thrift');
var thrift = require('thrift');

var connection = thrift.createConnection('localhost', 9090, {
    transport: thrift.TBufferedTransport(),
    protocol: thrift.TBinaryProtocol()
});

connection.on('error', function(err) {
    console.log(err);
});

var client = thrift.createClient(wrapper(Calculator.Client), connection);

module.exports.add = function* (a, b) {
    yield client.add(a, b);
};

module.exports.ping = function* () {
    yield client.ping();
};

module.exports.establish = function *establish (name) {
    yield client.establishStream(name, '', 9090);
}

gen-nodejs 为生成的代码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题