我想在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
答案 0 :(得分:1)
Meteor.Call()是一个回调。
您只能在回调本身中访问回调的结果。结果仅限于回调。您无法在Meteor.Call()
之外的任何位置访问该数据请参阅:http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/