我尝试将一组保存在会话变量中:

                var rowLength = result.rows.length;
                var setOfPermissions = new Set();
                for (var i = 0; i < rowLength; i++) {
                    var permission = result.rows[i].permission;
                    setOfPermissions.add(permission);
                }

                req.session.permissions = setOfPermissions;


但是稍后,当我尝试访问它时:

    var setOfPermissions = req.session.permissions;
    if(setOfPermissions.has('my permission')) //Error over here


我收到以下错误:


  TypeError:setOfPermissions.has不是函数


编辑:console.log(“ permissions :::” + setOfPermissions);的输出;
 是:


  权限::: [对象对象]

最佳答案

会话存储在JSON中,因此,当您将Set分配给会话对象时,它将被传输到JSON,并且当您访问以对其进行检索时,JSON将被解析为一个对象或数组,顺便说一句,没有has()方法。

09-17 15:28