首页 > 解决方案 > flatMap 不是一个函数,在javascript中的一个数组上

问题描述

我正在使用 Promise.all 和 await 来执行一些承诺。但是我收到错误“flatMap 不是函数”。我可以在日志中看到结果是一个数组,所以应该允许在数组中进行 flatMap 操作。

有人可以解释为什么会发生这种情况吗?因为找不到解释!!

谢谢

const groupIds = await userGroupRepository.getGroupsByUserId(userId);

    console.log('groupIds', groupIds);
    const promises = groupIds.map(groupId =>
      permissionGroupRepository.getPermissionsByGroupId(groupId),
    );

    console.log('promises', promises);

    const result = await Promise.all(promises);

    const isArr = Object.prototype.toString.call(result) == '[object Array]';

    console.log('isArray', isArr); // Logs true

    const permissions = result.flatMap(((r) => r)); // Error : flatMap is not a function

标签: javascriptarraysnode.jsflatmapecmascript-2016

解决方案


推荐阅读