javascript - nodejs : event. 是异步的吗?

标签 javascript node.js events event-handling dom-events

我正在阅读这篇文章:write async function with EventEmitter

下面的代码是异步的吗?

var event = new events.EventEmitter();
event.on("done", cb);

最佳答案

在给定的相关代码中,您正在订阅一个事件。当您调用 event.emit("done") 时, Node 按照订阅的顺序执行给定的回调。

示例

    var event = new events.EventEmitter();

    event.on("done",() => {
        console.log(("notified 1"))
    });

    event.on("done",() => {
        setImmediate(() => {
            console.log("async")
        });
        console.log(("notified 2"))
    });

    event.on("done",async () => {
        console.log(("notified 3"))
    });

    console.log("before firing an event");

    event.emit("done");

    console.log("after firing an event");

输出

before firing an event
notified 1
notified 2
notified 3
after firing an event
async

关于javascript - nodejs : event. 是异步的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46324622/

相关文章:

javascript - 将图像存储在 chrome 扩展中

node.js - NodeJS 从缓冲区读取 ASCII

node.js - 图像未存储在 S3 存储桶中

jquery - 有没有办法从另一个插件检测 Jquery Mobile 中的第一页加载?

javascript - Angular UI 引导 typeahead ngmodel 在清除字段时显示 null

javascript - 我的 API 服务不断陷入错误情况 - AngularJS

javascript - webpack browserify --ignore 等效项?

node.js - Joi 字段验证基于另一个字段的一组值

events - Jquery .val() 不会触发 live(change) 事件

jquery - 监控单选按钮未被选中的情况