Node.js async.forEach:无法读取未定义的属性“值”

2024-01-03

我有一种感觉,我犯了一个明显的错误,但找不到它。

我得到的错误是:

node_modules/async/lib/async.js:194
        iterator(x.value, function (err, v) {
                  ^
TypeError: Cannot read property 'value' of undefined

这是我的代码:

this.createProfiles = function (serviceUserid, serviceName, newProfiles, type, callback) {
    var userids = [];
    function iterator (i, callback) {
        var profile = newProfiles[i];
        if (typeof profile == 'undefined') {
            var userid = i;
            profile = {};
        } else {
            if (profile.userid) {
                var userid = profile.userid;
            } else if (profile.id) {
                var userid = profile.id;
            }               
        }
        userid = String(userid);
        createProfile(userid, serviceName, profile, callback);
        userids.push(userid);
    }
    async.forEach(newProfiles, iterator, function(){
        createRelation(serviceUserid, serviceName, userids, type, callback);
    });
}

这是完整的堆栈跟踪:

node_modules/async/lib/async.js:194
        iterator(x.value, function (err, v) {
                  ^
TypeError: Cannot read property 'value' of undefined
at /Users/jacob/Sites/Konfect.node/node_modules/async/lib/async.js:194:23
at /Users/jacob/Sites/Konfect.node/node_modules/async/lib/async.js:118:13
at /Users/jacob/Sites/Konfect.node/node_modules/async/lib/async.js:129:25
at /Users/jacob/Sites/Konfect.node/node_modules/async/lib/async.js:196:17
at /Users/jacob/Sites/Konfect.node/node_modules/async/lib/async.js:499:34
at /Users/jacob/Sites/Konfect.node/models/profile.js:85:8
at [object Object].<anonymous> (/Users/jacob/Sites/Konfect.node/node_modules/mongodb/lib/mongodb/collection.js:416:9)
at [object Object].emit (events.js:67:17)
at [object Object].<anonymous> (/Users/jacob/Sites/Konfect.node/node_modules/mongodb/lib/mongodb/connections/server.js:102:16)
at [object Object].emit (events.js:64:17)

是的,我用async https://github.com/caolan/async.

有任何想法吗?


异步需要一个非稀疏数组,但我猜测,根据您使用“i”作为用户 ID,newProfiles 是稀疏填充的并由用户 ID 索引。

此外,迭代器的第一个参数是数组中的实际值(“profile”),而不是索引(“i”)。另外,在将“callback”传递到 createProfile 后调用“userids.push(userid)”也是不好的形式。你应该这样做。

createProfile(userid, serviceName, profile, function() {
    userids.push(userid);
    callback();
});

总的来说,有一些可能的方法可以解决稀疏问题。例如,您可以尝试使用 async.parallel,并传递按键索引的对象。

但首先我想问,使用稀疏性来指示创建新配置文件不会导致大量用户 ID 冲突吗?一旦您在第一个项目稀疏的情况下调用 createProfiles 两次,它就会尝试创建 userid = 0 的第二个配置文件。通常,当您想要创建新内容时,实际上会生成“createProfile”并返回新 ID。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js async.forEach:无法读取未定义的属性“值” 的相关文章

  • Node.js 有水豚吗?

    有谁知道 Node js 是否有类似 capybara 的东西 怎么样Zombie http zombie labnotes org 僵尸 js 使用 Node js 进行极其快速的无头全栈测试 The Bite 如果你要编写一个速度极快的
  • 以html格式显示npm审计漏洞

    有没有办法将 npm 审计报告显示为 html 页面 目前我只能看到使用以下命令以 json 格式输出报告的选项 npm audit json 我写了一个NPM包 https www npmjs com package npm audit
  • 如何在 PyV8 中加载 Nodejs 模块?

    如何在 PyV8 中加载 Nodejs 模块 我读过所有关于 jsdom 在与 Nodejs 一起运行时有多么出色的内容 如果我在 Python 应用程序中运行 v8 使用 python 获取 Web 资源 然后将生成的 html 字符串提
  • 如何在 Jenkins 服务器上运行 Jest 测试

    我正在尝试运行我的Jest https facebook github io jest 在 Jenkins 部署期间进行测试 如果我 ssh 进入服务器 我可以 sudo 进入 Jenkins 用户并从工作区成功运行测试 但是 当我尝试从
  • 如何检测和测量 Node.js 中的事件循环阻塞?

    我想监视 node js 中事件循环每次运行需要多长时间 但是我不确定衡量这一点的最佳方法 我能想到的最好的方法是这样的 var interval 500 var interval setInterval function var last
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • Mongodb更新很多

    我正在使用express js 和 npm 模块 mongodb 进行开发 并以 mongodb 作为数据库 我有两个集合 即 用户 和 活动 一个用户可能有数千个活动 首先 我将用户的 id 姓名和图片 url 存储到 关系的活动文件 请
  • Child_process 处理带有回车符 (\r) 的 STDOUT 流

    我正在编写一个简单的应用程序 它允许工作中的内部系统请求从远程服务器到使用 REST 调用发起的另一个远程服务器的复制过程 使用 rsync 我已经对express框架足够熟悉 并且刚刚开始尝试child process库 并偶然发现了一个
  • express 或express-generator:我需要两者吗?

    只是探索 Node js 并遇到了 Express 在 npm 存储库站点上https www npmjs com package express https www npmjs com package express它明确指出安装是 np
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp
  • Node.js 检测两个猫鼬查找何时完成

    我正在尝试使用自动完成功能初始化两个输入library https www devbridge com sourcery components jquery autocomplete 当我加载页面时 我将触发 Ajax 来初始化两个输入文本
  • 使用 Node.js 构建网站的最佳实践

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我想知道如何使用 Node js 从头开始 开发一个网站 我明白我怎么能possibly
  • 使用 AWS CDK 为 lambda 指定自定义角色

    我意识到它很新 但我没有看到任何语言的任何示例 说明如何为使用 AWS CDK 创建的 lambda 指定角色 我正在尝试这样做 const cdk require aws cdk cdk const lambda require aws
  • Mongoose 独特的验证不起作用。保存重复条目

    我正在开发一个 NodeJS 应用程序 其中express是框架 MongoDB是数据库 我正在使用猫鼬插件 我有一个父母模型 我已经添加了独特 真实到场 mobile 但是每当我添加相同的手机号码时 唯一性验证就会失败 除了保存重复的文档
  • 为什么此 HTTP 请求在 AWS Lambda 上不起作用?

    我正在开始使用 AWS Lambda 并尝试从我的处理程序函数请求外部服务 根据这个答案 https stackoverflow com a 27932216 473467 HTTP 请求应该可以正常工作 而且我还没有找到任何其他说明的文档
  • Apache + Symfony2 + HTTPS + Node.js + Socket.io:socket.emit 未触发

    我花了几个小时来解决这个问题 但毫无结果 编辑 找到解决方案 参见我的答案 项目背景 我正在构建一个项目Symfony2 这需要一个用于上传大文件的模块 我选择了Node js and Socket IO 我必须从头开始学习 所以我可能会错
  • 无法在适当的时间对域调用 dispose

    我有一个问题domain模块 目前 我正在尝试捕获请求中引发的任何未捕获的错误 使用express中间件和域 所有请求在调用之前都会通过此函数路由next并继续走正确的路线 app use req res next gt domain cr
  • 如何使用 cradle (CouchDB) 将参数传递给视图

    Using cradle https github com cloudhead cradle 如何将参数传递给 CouchDB 中的视图 Update 假设我想返回与其他属性匹配的文档 key 默认 document format key
  • gcloud.app.deploy 错误响应:[9] 应用程序启动错误:[email protected] start /app 节点 app.js

    我对收到的错误消息感到好奇 环境 谷歌应用引擎 Nodejs 弹性环境 没有安装 Express 服务器 设置 app yaml 包含标准信息 server js 已创建但为空 此时此刻 app js 已创建 但目前为空 错误 错误 gcl
  • 如何使用javascript将大图像转换为十六进制?

    如果我尝试将图像转换为十六进制 无论我使用哪个函数 我都会收到此错误消息 该图像的大小为 7 MB 19812 毫秒 清理 1401 2 1455 0 gt 1401 2 1455 0 MB 9 9 0 ms 自上次 GC 以来 8 3 m

随机推荐

  • iPhone:cocos2d 中相机跟随玩家

    我正在用 cocos2d 制作 iPhone 游戏 我想知道如何使相机 视图遵循特定的精灵 我会使用 CCCamera 类吗 是的 CCCamera 可以工作 然而 它有一些缺点 使其不适合某些用途 相对于该精灵移动图层以及所有其他对象可能
  • 在 StructureMap 中注册一个默认实例

    我有一堂课 MyService 具有静态属性 MyService Context 代表当前上下文 特定于当前登录的用户 因此它会发生变化 我想要实现的目标 ObjectFactory Initialize x gt x For
  • 在 WPF 中,我们如何将 Duration 定义为资源?

    我在许多动画中使用了一个持续时间 0 0 0 5 并且我想仅在一个位置定义该数字 我可以将双精度定义为
  • 在 Win32 API 中绘制格式化文本的最快方法是什么?

    我正在使用普通 Win32 API 在 C 中实现一个文本编辑器 并且我正在尝试找到实现语法突出显示的最佳方法 我知道有像 scintilla 这样的现有控件 但我这样做是为了好玩 所以我想自己完成大部分工作 我还希望它又快又轻 从我到目前
  • TensorFlow 中的高效图像膨胀

    我正在寻找一种有效的实施方式形态学图像膨胀 https en wikipedia org wiki Dilation morphology 在 TensorFlow 中使用方形内核 正如 OpenCV 所示 与实际效果相比 显而易见的方法似
  • 在 React.js 应用程序中从广告合作伙伴加载外部脚本

    我想在我的 React js Web 应用程序中包含两种类型的广告 div div 还有这个广告
  • SQL Server:返回字符串过程 INITCAP

    这就是我所做的 create proc INITCAP string varchar 30 as begin SET string UPPER LEFT string 1 LOWER RIGHT string LEN string 1 en
  • 使用 bootstrap 进行分位数回归的置信区间

    我正在尝试获取线性和分位数回归的五种引导区间 我能够使用 Boot from 引导并找到线性回归的 5 个引导区间 分位数 正常 基本 学生化和 BCa car和 boot ci 来自boot 当我尝试使用 rq 对分位数回归执行相同操作时
  • 使用 Entity Framework 4 时如何返回数据读取器?

    我想使用 LINQ 和 EntityFramework 上下文定义数据库查询 但我不希望返回实体 我想要一个数据读取器 我怎样才能做到这一点 这是为了将行导出到 CSV 干杯 伊恩 如果你需要这个 你很可能正在做一些意想不到的事情 通过查询
  • 理解声明 C 字符串的两种方法[重复]

    这个问题在这里已经有答案了 几周前 我开始学习编程语言 C 我了解 HMTL CSS Javscript PHP 和基本服务器管理等 Web 技术 但 C 语言让我感到困惑 据我了解 C 语言没有字符串数据类型 只有字符数据类型 但我可能是
  • 基本 iPhone 定时器示例

    好吧 我在网上搜索过 甚至在几本书中寻找答案 因为我无法理解 NSTimer 的苹果文档 我正在尝试在同一视图上实现 2 个计时器 每个计时器都有 3 个按钮 开始 停止 重置 第一个计时器从 2 分钟开始倒计时 然后发出蜂鸣声 第二个计时
  • AWS Elastic Beanstalk - 更改 webapp 文件夹的所有者

    我已使用 AWS Elastic Beanstalk 成功创建了一个应用程序 并使用 Git 上传了该应用程序 我剩下要做的就是创建我的settings php 文件 一切都应该可以正常工作 但是 当我使用 ec2 user 用户身份通过
  • Graphviz Dot 中奇怪的边缘位置

    我有一个模块 可以自动输出 以点格式 用某种汇编语言 我的编译器的 IR 编写的函数 节点是使用 记录 形状打印的基本块 问题在于边缘采用了奇怪的路线 例如 digraph node shape record n0 label
  • Apple 智能横幅上的应用程序参数是否会在安装时传递给应用程序?

    我已经为我的应用程序实现了 Apple 智能横幅 其中包含一个应用程序参数 其中包含我希望该应用程序在我的网站上打开的 URL 我以为用户安装应用程序时就会通过 但似乎没有 步骤 用户访问页面 未安装应用程序 单击 查看 转到应用程序商店
  • 如何删除查询中的第一个单词

    如何删除 MySQL 查询中字段的第一个单词 我尝试使用 SUBSTRING INDEX 但没有结果 该字段为varchar 可以同时包含字母和数字 例子 PWS 20110804 Pos 04应该成为20110804 Pos 04 PWS
  • 如何为特定控件创建自己的自定义提示?

    我需要为特定控件 而不是整个应用程序 创建一个自定义提示窗口 具有自己的颜色和布局 提示文本本身不会连接到该特定的Hint财产控制 按照建议 我编写了一个处理程序CM HINTSHOW 如果控件有此功能 则此方法有效ShowHint Tru
  • 找出与 Elastic Beanstalk 应用程序关联的 EC2 实例?

    有没有办法从仪表板找出与我的 Elastic Beanstalk 应用程序关联的 EC2 实例 我检查了 配置 下的每个页面 但找不到有关运行该应用程序的 EC2 实例的任何信息 您无法通过 Elastic Beanstalk 仪表板查看关
  • C++ 一个带有结构数组的类,不知道我需要多大的数组

    我有一个带有字段的类like名字 年龄 学校等 我需要能够存储其他信息 例如他们旅行过的地方以及旅行的年份 我无法专门声明另一个类来保存 TravelDestination 和年份 所以我认为有一个结构体可能是最好的 这只是一个例子 str
  • Java Scanner - 将换行符读取到字符串中?

    我有一个扫描仪 它接受用户输入 直到按 ctrl d 然后是一个 while 循环 将每个单词添加到字符串中 然后打印它 但我想知道如何在字符串中包含像 n 这样的新行指示符凡是有新行的地方 Scanner sc new Scanner S
  • Node.js async.forEach:无法读取未定义的属性“值”

    我有一种感觉 我犯了一个明显的错误 但找不到它 我得到的错误是 node modules async lib async js 194 iterator x value function err v TypeError Cannot rea