2015-02-06 2 views
1

Tasks이라는 작업이 적은 Collection이 있다고 가정합니다.
작업 배열을 사용자에게 반환하는 메서드를 호출하지만 어떤 이유로 든 아무 것도 반환하지 않습니다. 나는 메서드를 호출 할 때Meteor 방법이 작동하지 않습니다.

if (Meteor.isClient) { 
// This code only runs on the client 
    Template.body.helpers({ 
     tasks: function() { 
      // Show newest tasks first 
      Meteor.call("getTasks", function(error, result) { 
       return result; // Doesn't do anything.. 
      }); 
     } 
    }); 
} 

Meteor.methods({ 
    getTasks: function() { 
     return Tasks.find({}, {sort: {createdAt: -1}}); 
    } 
}); 

어떤 아이디어 것은 왜 아무것도 반환하지 않습니다 여기에

는 예를 들어 코드?

+0

가능한 [템플릿 도우미 내부의 유성 메소드 사용 방법] (http://stackoverflow.com/questions/22147813/how-to-use-meteor-methods-inside-of-a-template-helper) –

답변

4

Tasks.find()DDP을 통해 클라이언트에 전송할 수없는 커서를 반환합니다.

아마 Tasks.find().fetch()을 반환 하겠지만 Meteor의 아주 좋은 데이터 동기화 메커니즘의 목적을 상실했을 것입니다.

Understanding Meteor's publish/subscribe을 읽으셨습니까?

+0

그러나'return Tasks.find ({}, {sort : {createdAt : -1}});'메서드 호출 대신 return이 입력됩니다. – Israelg99

+0

기본적으로 자동 게시 패키지가 추가되어 서버에서 게시와 클라이언트에서 자동으로 구독을 설정하기 때문에 콘솔에서 작동합니다. 진심으로, 그 "이해"답변을 읽어보십시오 :) –

+0

고마워! 나는 이것을 읽었고 시스템을 잘 설명했다. (Sacha Greif도 썼습니다) : https://www.discovermeteor.com/blog/understanding-meteor-publications-and-subscriptions/ – Israelg99

관련 문제