Node-red. Делаем паузу в ноде Function

Задержку в Node-red делают соответствующей нодой, но что делать если нам надо сделать задержку в ноде function внутри, следующий код это делает.
Добавляем в начало ноды function функцию

function sleep (time) {
return new Promise((resolve) => setTimeout(resolve, time));
}
и в коде где нам надо сделать задержку пишем:
await sleep(5000);

в данном случае задержка будет 5 секунд.
скачать демонстрационный поток:

[
{
"id": "2957c7f06a520e1e",
"type": "function",
"z": "dc889c94886b52da",
"name": "function 1",
"func": "function sleep (time) {\n return new Promise((resolve) => setTimeout(resolve, time));\n}\n\n\nnode.send(msg);\nawait sleep(5000);\nnode.send(msg);\nawait sleep(5000);\nnode.send(msg);\nreturn;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 580,
"y": 760,
"wires": [
[
"1652667a15c9e93b"
]
]
},
{
"id": "6504fb434135fd4f",
"type": "inject",
"z": "dc889c94886b52da",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 360,
"y": 760,
"wires": [
[
"2957c7f06a520e1e"
]
]
},
{
"id": "1652667a15c9e93b",
"type": "debug",
"z": "dc889c94886b52da",
"name": "debug 1",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 820,
"y": 760,
"wires": []
}
]
Node-red. Делаем паузу в ноде Function

Навигация по записям