首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Node -Red的Function Node中是否可以嵌套If语句?

Node -Red的Function Node中是否可以嵌套If语句?
EN

Stack Overflow用户
提问于 2021-07-10 21:29:28
回答 1查看 199关注 0票数 0

关于函数节点:在我看来,似乎不能在其他if或Switch的语句中使用If-Elif-Else语句。

问:嵌套的If或Switch是可能的吗?或者,有没有更好的方法在Nodered中实现这样的东西?

示例:

代码语言:javascript
运行
复制
switch (msg.payload.auto)
{
case "Manuell":
    if (msg.payload.schattierung == "Ost")
    {
        var levelValue = "Schatten"
    }
    else if (msg.payload.schattierung == "Alle")
    {
        var levelValue = "Schatten"
    }
    else
    {
        var levelValue = "Offen"
    }

case "Auto":
    if (msg.payload.azimuth <= 225)
    {
        var levelValue = "Offen"
    }
    else if (msg.payload.azimuth < 235)
    {
        var levelValue = "Halb"
    }
    else
    {
        var levelValue = "Offen"
    }

default:
    var levelValue = "Offen"
}

var msgLevel = { payload: levelValue }

return msgLevel
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-10 22:33:21

嵌套的If块或嵌套的Switch/If块可以很好地工作,但您也可以使用switch节点和change节点的集合来构建类似的东西来设置值。

需要注意的一点是,在功能节点中用新的消息完全替换传入的消息是非常低效和糟糕的形式。最好是直接替换现有的msg.payload。这也意味着,使用msg对象上的其他键来保持状态的任何节点都将继续正常工作(例如,http-response节点需要http-in节点创建的原始消息,以使其沿着流程一直正常工作)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68328177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档