Этот код сервера Meteor делает вызов DDP внешним сервисом serv2
, и как только он получает результат, он должен отправить обратно клиенту, который совершил звонок, но это не так.Meteor DDP Обратный вызов в обратном вызове метода
Какое лучшее исправление? Должен ли я воспользоваться реактивной способностью MongoDB?
/////////////////////////// client/main.js \\\\\\\\\\\\\\\\\\\\\\\\\\
Template.hello.events({
'click button'(event, instance) {
Meteor.call('service2', function (err, res) {
if (!err) {
console.log('got it'); //=> prints right away without waiting.
console.log(res); //=> print undefined <==================
instance.msg.set(res);
}
});
}
});
/////////////////////////// server/app.js \\\\\\\\\\\\\\\\\\\\\\\\\\
import { Meteor } from 'meteor/meteor';
import { DDP } from 'meteor/ddp-client';
let serv2 = DDP.connect('localhost:7001');
Meteor.methods({
'service2': function() {
serv2.call('service2', function (err, res) {
if (!err) {
console.log(res); //=> prints OK
return 'service 1 calling service 2 <br> + res'; //<====== failed to return.
}
});
}
});