this.userId在通过DDP调用的方法中未定义

时间:2017-03-19 21:27:50

标签: meteor ddp

此Meteor服务器无法在从远程DDP.call调用的方法中获取userId。如何从远程DDP获取调用该方法的userId? THX

//app 1 server
let app2_Conn = DDP.connect('http://localhost:4000');
Meteor.methods ({
  'callOut': () => {
    app2_Conn.call('app2_method', args);
  }
});

//app 2 server
Meteor.methods ({
  'app2_method': () => {
    const id = Meteor.userId(); //null
    const iD = this.userId;     //undefined
  }
});

1 个答案:

答案 0 :(得分:2)

这是因为你正在使用箭头功能。箭头功能改变了它的绑定方式。

更改为:

Meteor.methods({
  'app2_method'() {
    const id = this.userId;
  }
});