forEach在Node.js中使用生成器

马扎尔·艾哈迈德(Mazhar Ahmed)

我正在使用Koa.js框架和Mongoose.js模块。

通常从MongoDB获得结果,我这样编写代码:

var res = yield db.collection.findOne({id: 'my-id-here'}).exec();

但是我需要对名为“ items”的数组的每个元素执行此行。

items.forEach(function(item) {
  var res = yield db.collection.findOne({id: item.id}).exec();
  console.log(res)  // undefined
});

但是,此代码无法运行,因为yield在函数中。如果我这样写:

items.forEach(function *(item) {
  var res = yield db.collection.findOne({id: item.id}).exec();
  console.log(res)  // undefined
});

我也没有得到res变量的结果。我试图使用“ generator-foreach ”模块,但这种方式不起作用。

我知道这是我对Node.js的语言素养缺乏了解。但是你们能帮我找到一种方法吗?

马扎尔·艾哈迈德(Mazhar Ahmed)

谢谢大家,我已经使用“ CO ”模块完成了此操作谢谢。

var co = require('co');

items.forEach(co(function* (item) {
  var img = yield db.collection.findOne({id: item.id}).exec();
}));

编辑:使用最新版本的CO,您需要co.wrap()才能工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP 5.6生成器语法:生成器只能在foreach循环中使用吗?

来自分类Dev

使用生成器函数next()作为node.js中的回调

来自分类Dev

测试Node.js和谐生成器方法

来自分类Dev

Laravel foreach 查询生成器结果

来自分类Dev

foreach使用查询生成器的where循环会导致控制器laravel 5.3

来自分类Dev

试图了解node.js中的生成器/ yield-什么执行异步函数?

来自分类Dev

为什么node.js生成器无法按预期工作?

来自分类Dev

向自身抛出错误时,Node.js 生成器“已在运行”

来自分类Dev

使用 node 创建像 react/open-wc 这样的脚手架生成器

来自分类Dev

在Mocha中使用JavaScript生成器

来自分类Dev

在Fuelphp查询生成器中使用“()”

来自分类Dev

在Mocha中使用JavaScript生成器

来自分类Dev

在node.js中使用forEach引用JSON对象

来自分类Dev

Node js foreach done 函数

来自分类Dev

将具有回调的约定的node.js函数转换为生成器并产生

来自分类Dev

如何使用Node.js child_process生成器使用管道运行长时间运行的命令[编辑:特别是管道传输到grep]

来自分类Dev

在for循环中使用生成器send()

来自分类Dev

在Python中使用生成器按n元素循环

来自分类Dev

Laravel在查询生成器中使用UNION

来自分类Dev

在laravel 4.1查询生成器中使用变量

来自分类Dev

在Python中使用生成器函数实现长除法

来自分类Dev

如何在Django模板中使用生成器方法?

来自分类Dev

在Tornado协程中使用常规Python生成器

来自分类Dev

在子生成器中使用composeWith选项

来自分类Dev

在学问查询生成器中使用条件语句?

来自分类Dev

在类中使用随机生成器时的性能问题

来自分类Dev

如何在phpMyAdmin中使用查询视觉生成器

来自分类Dev

在MIPS中使用随机数生成器?

来自分类Dev

在查询中使用别名的查询生成器

Related 相关文章

  1. 1

    PHP 5.6生成器语法:生成器只能在foreach循环中使用吗?

  2. 2

    使用生成器函数next()作为node.js中的回调

  3. 3

    测试Node.js和谐生成器方法

  4. 4

    Laravel foreach 查询生成器结果

  5. 5

    foreach使用查询生成器的where循环会导致控制器laravel 5.3

  6. 6

    试图了解node.js中的生成器/ yield-什么执行异步函数?

  7. 7

    为什么node.js生成器无法按预期工作?

  8. 8

    向自身抛出错误时,Node.js 生成器“已在运行”

  9. 9

    使用 node 创建像 react/open-wc 这样的脚手架生成器

  10. 10

    在Mocha中使用JavaScript生成器

  11. 11

    在Fuelphp查询生成器中使用“()”

  12. 12

    在Mocha中使用JavaScript生成器

  13. 13

    在node.js中使用forEach引用JSON对象

  14. 14

    Node js foreach done 函数

  15. 15

    将具有回调的约定的node.js函数转换为生成器并产生

  16. 16

    如何使用Node.js child_process生成器使用管道运行长时间运行的命令[编辑:特别是管道传输到grep]

  17. 17

    在for循环中使用生成器send()

  18. 18

    在Python中使用生成器按n元素循环

  19. 19

    Laravel在查询生成器中使用UNION

  20. 20

    在laravel 4.1查询生成器中使用变量

  21. 21

    在Python中使用生成器函数实现长除法

  22. 22

    如何在Django模板中使用生成器方法?

  23. 23

    在Tornado协程中使用常规Python生成器

  24. 24

    在子生成器中使用composeWith选项

  25. 25

    在学问查询生成器中使用条件语句?

  26. 26

    在类中使用随机生成器时的性能问题

  27. 27

    如何在phpMyAdmin中使用查询视觉生成器

  28. 28

    在MIPS中使用随机数生成器?

  29. 29

    在查询中使用别名的查询生成器

热门标签

归档