在Apollo Mutation中调用流星方法

时间:2018-09-21 13:37:37

标签: reactjs meteor apollo react-apollo

我在服务器上定义了一些Meteor methods,只需要在服务器(Meteor.isServer)上执行即可。现在,我想使用Apollo resolversMeteor.call上调用这些方法,但这似乎不起作用。

Meteor.methods({ 
  'post.add': function addpost(data) {
    new SimpleSchema({
      data: { 
        type: Object
      },
      'data.title': { type: String },
      'data.body': { type: String },
      'data.tag': { type: String },
    }).validate(data);
    return Post.insert(data);
  }
});

const resolvers = {
  Mutation: {
    doSomething(){ 
      return Meteor.call('post.add', data);
    }
  }
}

但是在客户端上调用方法(删除Meteor.isServer之后)可以正常工作。 另一个问题是在另一个Mutation函数中使用解析器Mutation函数:

const resolvers = {
  Mutation: {
    addData(){ ... }

    doSomething(){ return this.addData(); }
  }
}

1 个答案:

答案 0 :(得分:0)

我最终写了一个JS class,在其中定义了一些plugins.sbt(以便能够在没有实例化它是static functions/methods的情况下调用方法)在我的class中。

resolvers