如何在服务器方法之外使用setPassword

时间:2013-07-25 12:13:24

标签: javascript meteor node-fibers

我需要在流星服务器方法之外使用Accounts.setPassword,但是在服务器端。在这种情况下使用集合我使用光纤包装器但它不适用于Accounts.setPassword。

Fiber(function(){Accounts.setPassword(msg.user_id, msg.password);}).run();

1 个答案:

答案 0 :(得分:0)

我只是测试了它而且简单

if (Meteor.isServer) {
  Meteor.startup(function () {
    Accounts.setPassword("Jp2G9TJLHwqagQmMr", "654321")
  });
}

在服务器端工作得很好。但是,如果您在回调中传递函数(作为事件处理程序),那么不要忘记将其包装到Meteor.bindEnvironment中:

something.on('event',
  Meteor.bindEnvironment(function(){
    Accounts.setPassword(msg.user_id, msg.password);
  },
  function (err) {
    console.log('failed to bind env: ', err);
  })
);