当前位置: 首页 > 面试题库 >

Node.js-使用异步库-带有对象的async.foreach

胡和煦
2023-03-14
问题内容

我正在使用 节点异步 库-https:
//github.com/caolan/async#forEach,想遍历一个对象并打印出其索引键。一旦完成,我想执行一个回调。

这是我到目前为止所'iterating done'看到的,但是从未见过:

    async.forEach(Object.keys(dataObj), function (err, callback){ 
        console.log('*****');

    }, function() {
        console.log('iterating done');
    });
  1. 为什么不调用最终函数

  2. 如何打印对象索引键?


问题答案:

由于async.forEach要求您callback为每个元素调用该函数,因此不会调用最终函数。

使用这样的东西:

async.forEach(Object.keys(dataObj), function (item, callback){ 
    console.log(item); // print the key

    // tell async that that particular element of the iterator is done
    callback();

}, function(err) {
    console.log('iterating done');
});


 类似资料:
  • 问题内容: 有大量的库可帮助修复回调综合症的层次。 实际上,太多了,我该使用哪一个? 问题答案: 我使用Async.js。 异步是一个实用程序模块,它提供直接,强大的功能来使用异步JavaScript。尽管最初设计用于node.js,但也可以直接在浏览器中使用。 例子

  • 问题内容: 我已经将kriskowal的Q库用于一个项目(Web刮板/人类活动模拟器),并且熟悉了Promise,将其返回并解决/拒绝它们,并且该库的基本异步控制流方法和错误抛出/捕获机制已得到证明。必要。 我遇到了一些问题。我的电话和回叫有形成金字塔的异常趋势。有时是出于范围限制的原因,而其他时候是为了保证一定顺序的事件。(我想我也许可以通过重构来解决其中的一些问题,但是今后我想完全避免“回调地

  • 问题内容: 在我的应用程序(node / express / redis)中,我使用一些代码同时更新数据库中的多个项目: 我可以确定在方法返回之前将执行所有这些操作吗?我关心的是异步处理。由于我不在db操作中使用回调函数,因此可以吗? 问题答案: 使用MULTI / EXEC命令创建命令队列并连续执行它们。然后使用回调发送回连贯的响应(成功/失败)。请注意,您必须使用Redis的AOF来避免这种情

  • 问题内容: 我目前正在使用node.js应用程序,并且遇到了通常的异步代码问题。 我正在Node的HTTP模块之上实现服务服务器。 该服务器支持(类似表达)路由。例如,我有如下代码: 服务器需要能够承受故障,当传递给任何函数的问题出现时,我不想使整个服务器崩溃。当我编写如下代码时,会发生问题: 我看不到如何在这里捕获错误。我不想因一个服务器端故障而使服务器崩溃,而是要服务500个。 我能够提出的唯

  • 问题内容: 我该如何做这项工作 我试图从异步之一获取同步功能,我需要它来使用FreeTds异步查询作为同步之一 问题答案: 使用deasync-用C ++编写的模块,它将Node.js事件循环暴露给JavaScript。该模块还公开了一个函数,该函数阻止后续代码,但不阻止整个线程,也不引起繁忙的等待。您可以将函数放入循环中:

  • 问题内容: 我有2个异步运行的函数。我想使用瀑布模型来编写它们。问题是,我不知道如何。 这是我的代码: 知道如何使用Waterfall编写它,以便我可以控制它吗?请给我写一些例子,因为我是node.js的新手 问题答案: 首先确定步骤并将其编写为异步函数(带有回调参数) 读取文件 } 处理文件(在示例中,我删除了大部分console.log) } 请注意,我在这里没有进行特定的错误处理,我将利用a