【发布时间】:2014-01-17 02:14:29
【问题描述】:
在我的流星应用程序中,我试图在服务器上注册一个用户,做一些工作并为传递给 onCreateUser 的用户对象添加一些额外的属性,然后转到一个专门适应新的“欢迎”页面用户。使用 Meteor 7.0.1 和 Iron-router(最新)
我的客户端代码如下所示:
// var userId = Meteor.registerUser(registrationOptions);
// Router.go('/welcome/'+userId);
这样的服务器代码
// Meteor.onCreateUser(options, user){
// if (options.profile) user.profile = options.profile;
// a 3rd party method outside of Meteor
// callToOutsideMethod(Meteor.bindEnvironment(function(e, res){
// user.results = res;
// // do other stuff
// user.foo = blah;
// user.bar = baz;
// return user;
// }, function(err){ console.log(err); });
当我返回用户对象时,我希望流星创建记录,然后将新用户登录...
但是发生的情况是屏幕在一秒钟内全部变形,然后我们跳转到新的 url '/welcome/the_new_user_id'...
但它会在我试图访问除 user_id 之外的任何内容的脚本上引发错误。查看 Mongo cli,没有添加任何新属性,甚至 'username' 和 'login-tokens' 等都不会出现在新用户上。而新创建的用户只有一个 _id,没有别的……很奇怪。
关于什么可能导致这种奇怪行为的任何想法?
【问题讨论】:
-
请让您的问题的标题更具体,以便其他人找到它,例如“Meteor.onCreateUser 中的异步调用”。您还应该添加更多标签,尝试使用
accounts/users和async/asynchronous。
标签: asynchronous meteor user-accounts