From 46c4235e46548f376b466c8284f503ed9fcd4808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=B4=AA=E8=8E=B9?= <565644124@qq.com> Date: Thu, 27 Dec 2018 16:12:59 +0800 Subject: [PATCH] Update Memory.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit getRoles和getPermissions方法获取数据的方式有问题 this.items 是Object 而不是 Array 需要通过Object.keys(this.items).forEach --- src/Memory.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/Memory.js b/src/Memory.js index d7d9ccd..3af07a2 100644 --- a/src/Memory.js +++ b/src/Memory.js @@ -5,7 +5,7 @@ import Role from './Role'; import Base from './Base'; export default class Memory extends Storage { - items: Object[] = {}; + items: Object = {}; async add(item: Base): boolean { const { name } = item; @@ -94,9 +94,10 @@ export default class Memory extends Storage { } async getRoles(): Role[] { - return this.items - .reduce((filtered: Role[], item: Object) => { - const { instance } = item; + const { items } = this; + return Object.keys(items) + .reduce((filtered: Role[], itemKey: String) => { + const { instance } = items[itemKey]; if (instance instanceof Role) { filtered.push(instance); @@ -107,9 +108,10 @@ export default class Memory extends Storage { } async getPermissions(): Permission[] { - return this.items - .reduce((filtered: Permission[], item: Object) => { - const { instance } = item; + const { items } = this; + return Object.keys(items) + .reduce((filtered: Permission[], itemKey: String) => { + const { instance } = items[itemKey]; if (instance instanceof Permission) { filtered.push(instance);