0

当我试图获取数据时,我得到了未定义的数据,但是在再次调用该方法后一秒钟,我得到了我想要的。我的理解是,我只是等待响应,当我尝试返回一个对象时,我什么都没有,因为它正在向我走来。.findOne() 没有回调,在这种情况下我能做什么?

  handleLogin = () => {
      Meteor.loginWithPassword(this.state.loginField,this.state.passwordField,(error)=>{
          if (!error) {
          Meteor.subscribe('xxx')
            let data = Meteor.collection('xxxy').findOne();
            console.log(data);
          }
      }
  }
4

1 回答 1

0

您可能想查看这部分文档。它说

当服务器将订阅标记为就绪时,不带参数调用 onReady 回调。

基本上Meteor.subscribe()允许您包含在订阅准备好时调用的回调。它可能如下所示。

Meteor.subscribe('xxx', function () {
  const data = Meteor.collection('xxxy').findOne()
  console.log(data)
})
于 2017-07-21T09:57:29.157 回答