the node module of dubbo client
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
README.md
index.js
package.json

README.md

如何安装

Node.js.

NPM

npm install dubbo-node-client

注意

该项目只支持 jsonrpc协议, 不支持 dubbo协议的服务提供者


如何使用

服务提供者

public interface PhoneNoCheckProvider {

    boolean isPhoneNoLimit(Operators operators, String no, String userid);

    boolean isPhone(String no);
}

消费者

//
var dubboClient = require('dubbo-node-client');

//加载配置文件
dubboClient.config(require('./dubbo.config.js'));

//获取serivce
var phoneNoCheckService = dubboClient.getService('com.ofpay.ofdc.api.phone.PhoneNoCheckProvider', version, group);

//调用方式一, 这种可以立即调用, 无需延迟
phoneNoCheckService.call('isPhone', "13999999999")
    .then(function(result){ //成功
        return this.call('isPhoneNoLimit', "MOBILE", "130000", "A001");
    })
    .catch(function(error){ //失败
    })
    .finally(function(){ //不管成功还是失败
    });

//调用方式二, 这种需要延迟, 因为provider的方法是由zookeeper的节点提供,
//所以要先查到这个provider的节点, 这个步骤是异步的, 就导致你如果直接调用方法会报错
phoneNoCheckService.isPhone('xxxxx');

//当然如果你是在Express里面调用, 那肯定没有问题.
function doFoo(req, res){
    phoneNoCheckService.isPhone('xxxxx')
            .then(function(out){
                res.send(out);
            });
}