首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建异步函数以在使用Meteor.loginWithPassword()登录后返回用户状态

问如何创建异步函数以在使用Meteor.loginWithPassword()登录后返回用户状态
EN

Stack Overflow用户
提问于 2016-07-30 02:13:01
回答 2查看 55关注 0票数 0

我尝试创建一个函数,在使用Meteor.loginWithPassword()登录后返回用户状态,但是它是异步的,函数总是返回未定义的,如何解决这个问题?

代码语言:javascript
复制
var state;
  Meteor.loginWithPassword(action.email, action.password,
  (err) => {
    if (err) {
      alert('Đăng nhập thất bại')
    } else {
      state = "login success"
    }
  })
  return state
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-30 07:54:26

状态变量不是反应性变量,因此如果状态更新的值将不会更新html模板中的空格代码。

  1. 您可以使用任何重新激活的东西来解决这个问题,如会话、反应性var或反应性dict。 //确保安装了ReactiveVar package var state =新的ReactiveVar('');模板‘’name‘..helpers({ 'getState':function (userId) ){ Meteor.loginWithPassword(action.email,action.password,(err) => { if (err) {警告(’Đăng nhập thất bại') }action.email(“登录成功”);}) console.log(len.get();//当响应来自您的方法调用时,您将得到2。返回state.get();});
  2. 您还可以使用名为“currentUser”的帐户UI中的空格栏帮助程序。所以你的html会像: {{#如果currentUser}} {其他}{/if}}
票数 0
EN

Stack Overflow用户

发布于 2016-07-30 02:20:30

向函数询问回调参数/参数,登录成功时将调用该参数

代码语言:javascript
复制
function login(action, callback) {

    Meteor.loginWithPassword(action.email, action.password, err => {
        if ( err ) {
            //...
        } else {
          callback('login success');
        }
    });

 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38669739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档