this.userId не определен в методе, вызываемом через DDP

Этому серверу Meteor не удалось получить userId внутри метода, который был вызван из удаленного DDP.call. Как я могу получить userId, который вызвал метод из удаленного DDP? Спасибо

//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 ответ

Решение

Это потому, что вы используете функцию стрелки. Функции стрелок меняют способ связывания этого.

Изменить на:

Meteor.methods({
  'app2_method'() {
    const id = this.userId;
  }
});
Другие вопросы по тегам