# Function that return msg.payload each time it pass through

**URL:** <https://discourse.nodered.org/t/function-that-return-msg-payload-each-time-it-pass-through/17270>\
**Category:** General\
**Created:** [29 October 2019 08:46 UTC](https://discourse.nodered.org/t/function-that-return-msg-payload-each-time-it-pass-through/17270 "2019-10-29T08:46:19Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Laude](https://avatars.discourse-cdn.com/v4/letter/l/e8c25b/32.png) [@Laude](https://discourse.nodered.org/u/Laude)\
**Post date:** [29 October 2019 08:46 UTC](https://discourse.nodered.org/t/function-that-return-msg-payload-each-time-it-pass-through/17270/1 "2019-10-29T08:46:20Z")

</div>

Hi guys,

I'am trying to do a simple for loop but I can't find a way to return a msg.payload each time it goes through this loop.

```auto
var length = msg.payloadSplit.length;

for (i = 0; i < length; i++){
    msg.payload = i;
    return msg;
}

```

Thanks

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [29 October 2019 08:48 UTC](https://discourse.nodered.org/t/function-that-return-msg-payload-each-time-it-pass-through/17270/2 "2019-10-29T08:48:54Z")

</div>

Function can only return 1 msg.  
If you want to return more, you need to use `node.send({payload:xx})`

btw are you sure this is correct `msg.payloadSplit.length` ?

And ofcourse this has all been [documented in the documentation](https://nodered.org/docs/user-guide/writing-functions).

---

<div class="post-metadata">

**Author:** ![Laude](https://avatars.discourse-cdn.com/v4/letter/l/e8c25b/32.png) [@Laude](https://discourse.nodered.org/u/Laude)\
**Post date:** [29 October 2019 08:54 UTC](https://discourse.nodered.org/t/function-that-return-msg-payload-each-time-it-pass-through/17270/3 "2019-10-29T08:54:53Z")

</div>

Thanks a lot for your help, the documentation helped me

Here is what helped me :

```auto
var outputMsgs = [];
var words = msg.payload.split(" ");
for (var w in words) {
    outputMsgs.push({payload:words[w]});
}
return [outputMsgs];

```

---

<div class="post-metadata">

**Author:** ![Bobo](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bobo/32/8401_2.png) [@Bobo](https://discourse.nodered.org/u/Bobo)\
**Post date:** [30 October 2019 02:31 UTC](https://discourse.nodered.org/t/function-that-return-msg-payload-each-time-it-pass-through/17270/4 "2019-10-30T02:31:37Z")

</div>

> [@bakman2](#):
>
> Function can only return 1 msg.

Strictly speaking, is that true?

Would it not be more accurate to say that Functions can return any number of messages using RETURN, but RETURN can only be called ONCE in a Function?

Sorry, feeling very pedantic today. 🤭
