小编dee*_*ing的帖子

节点中许多异步任务的设计模式

我正在学习节点并编写API.我的一个API调用带有一个名为Tags的参数,它将包含逗号分隔的标记,每个标记都要保存到磁盘(我使用的是MongoDB + Mongoose).通常当我在我的API中保存到DB时,我传递一个回调并在该回调中保存后进行,但是这里我有一个可变数量的对象要保存到磁盘,我不知道保存所有的最干净的方法将这些标签添加到磁盘,然后保存之后引用它们的对象.任何人都可以建议使用干净的异步模式吗?谢谢!

design-patterns asynchronous node.js

4
推荐指数
1
解决办法
939
查看次数

Mongoose文档保存失败,出现"TypeError:无法读取未定义的属性'选项'

我有一个带有一些"ref"属性的mongoose模式.最近(我相信在升级到最新版本的mongoose之后),我的保存已经开始失败,除非我填充()ref字段.它失败的错误是

TypeError: Cannot read property 'options' of undefined
Run Code Online (Sandbox Code Playgroud)

有没有人见过这个?我想我可以通过总是填充来解决它,但我想了解为什么这是必要的.

mongoose mongodb node.js

3
推荐指数
1
解决办法
5048
查看次数

Node.js回调

我正在学习节点,而我似乎无法弄清楚的一件事就是回调签名.似乎大多数回调通常都是这种形式

function myCallback(err, doc)
Run Code Online (Sandbox Code Playgroud)

这是有道理的.但后来我遇到了一些其他的模块,比如node-easyimage,随便提一下带有不同签名的例子,比如

function myCallback(err, stdout, stderr)
Run Code Online (Sandbox Code Playgroud)

没有提到哪些API期望哪种格式的回调,所以我最终挖掘代码.但鉴于回调签名几乎从未被提及过; 我觉得有一条不言而喻的规则,我没有读过.在那儿?

javascript node.js

2
推荐指数
1
解决办法
205
查看次数