1
누구든지 서버에서 호출 된 함수가 실행될 때까지 클라이언트를 대기시키는 방법을 말해 줄 수 있습니까? Meteor 메소드가 클라이언트에서 실행되기 전에 대기합니다.
내 코드 :Meteor.methods({
markLettersAsRead: function(userId) {
if(serverVar) {
Users.update({_id: userId}, {$set: {letters: []}}); // removing all references
}
}
});
Template.letter.events({
'click a': function() {
Meteor.call('markLettersAsRead', Meteor.userId(), this._id, function(err) {
if (err) {
console.log(err);
}
});
var usersExistsWithThisLetter = Users.find({letters: {_id: this._id}}).count();
console.log(usersExistsWithThisLetter);
}
});
usersExistsWithThisLetter
은 Users.find()
이 Meteor.call
이 완료 될 때까지 대기하지 않기 때문에 항상 1입니다. 데이터베이스를 확인하여이 사실을 확인했으며 letters
배열에 항목이있는 사용자가 없습니다.
도움을 주시면 감사하겠습니다.
고마워요! 그게 해결 됐어! – user3475602