如何在Meteor.call()中访问变量?

时间:2017-11-13 17:42:07

标签: javascript reactjs meteor ecmascript-6

我想在Meteor.call()中访问变量。

这里,我在Meteor.call()中有numStudys,而meteor.call里面的console.log()正确显示了numStudys的值(在我的情况下,4,这是正确的),但是console.log()在外面Meteor.call只是显示“未定义”。

有什么方法可以访问Meteor.call中的numStudys,并获取值(在我的情况下,4)?



export default class StudyPage extends React.Component {

  constructor(props) {
    super(props);

  }

  componentDidMount() {
    Tracker.autorun(() => {
      Meteor.call('studys.count', (error, result) => {
        numStudys = result;
        console.log("numStudys inside Meteor.call: ", numStudys);
      });
      console.log("numStudys outside Meteor.call: ", this.numStudys);
    });
  }
}




我的结果

meteor.call之外的numStudys:未定义

在Meteor.call中的numStudys:4

1 个答案:

答案 0 :(得分:1)

Meteor.Call()是一个回调。

您只能在回调本身中访问回调的结果。结果仅限于回调。您无法在Meteor.Call()

之外的任何位置访问该数据

请参阅:http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/