首页 > 解决方案 > 如何在 Loopback/Node.Js 中创建角色

问题描述

我创建了这个方法来创建一个管理员角色。如果管理员字段设置为当前用户的 0 或 1,我必须检查用户表,以检测它是普通用户还是管理员。问题是当 console.log('obj',objUser)我得到这个时:

obj Promise {
  _bitField: 0,
  _fulfillmentHandler0: undefined,
  _rejectionHandler0: undefined,
  _promise0: undefined,
  _receiver0: undefined }

这是我到目前为止所构建的:

Role.registerResolver('Admin', function(role, context, cb) {

            //Q: Is the user logged in? (there will be an accessToken with an ID if so)
            var userId = context.accessToken.userId;

            if (!userId) {
              //A: No, user is NOT logged in: callback with FALSE
              return process.nextTick(() => cb(null, false));
            }

            var user = app.models.user;

            var objUser = user.findById(userId);
            console.log('obj',objUser)
            if(objUser.admin==1){
              return cb(null, true);
            }
            else{
              return cb(null, false);
            }

            });

你知道我在做什么错吗?任何帮助,将不胜感激。谢谢你。

标签: javascriptnode.jsadminloopbackjsroles

解决方案


您应该阅读有关 javascript Promises的内容,了解一般的 javascript 和异步编程至关重要。另外,检查异步/等待


推荐阅读