# Async node.send() without done(): Consequences?

**URL:** <https://discourse.nodered.org/t/async-node-send-without-done-consequences/73034>\
**Category:** General\
**Created:** [1 January 2023 21:31 UTC](https://discourse.nodered.org/t/async-node-send-without-done-consequences/73034 "2023-01-01T21:31:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [1 January 2023 21:31 UTC](https://discourse.nodered.org/t/async-node-send-without-done-consequences/73034/1 "2023-01-01T21:31:23Z")

</div>

@knolleary  
In a [blog post from 2019](https://nodered.org/blog/2019/09/20/node-done) you're discussing the (at that time) new interface definition for

```auto
this.on('input', function(msg, send, done) {})

```

With reference to contrib-nodes that do not implement the new interface, you stated:

> But that’s no problem as the runtime is able to detect if a node is registering an ‘old’-style or ‘new’-style callback function and handle it accordingly.

Is this still valid today?  
What's happening if a node nowadays does e.g.

```auto
this.on('input', function(msg, send, done) {
     setTimeout(function() {
        node.send(msg)
    }, 2000);
})

```

Is there any further harm than the fact that the `Complete` node will never be triggered?

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [1 January 2023 21:44 UTC](https://discourse.nodered.org/t/async-node-send-without-done-consequences/73034/2 "2023-01-01T21:44:25Z")

</div>

> [@ralphwetzel](#):
>
> Is there any further harm than the fact that the `Complete` node will never be triggered?

Aside from meaning the Complete node won't work for it, I think the only other possible side-effect is no corresponding event is sent to the `metrics` logging api, so it is harder to trace messages through the flow.

But that is very much an edge case that won't concern 99% of users.

---

<div class="post-metadata">

**Author:** ![ralphwetzel](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ralphwetzel/32/53713_2.png) [@ralphwetzel](https://discourse.nodered.org/u/ralphwetzel)\
**Post date:** [1 January 2023 21:48 UTC](https://discourse.nodered.org/t/async-node-send-without-done-consequences/73034/3 "2023-01-01T21:48:39Z")

</div>

👍

Thank you for confirmation!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [2 March 2023 21:49 UTC](https://discourse.nodered.org/t/async-node-send-without-done-consequences/73034/4 "2023-03-02T21:49:29Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
