Ich bin relativ neu in NodeJS und mein Code innerhalb der Knotenfunktion sieht wie folgt aus,NodeRed nicht in der Lage für Schleifen, die Variablen innerhalb der verschachtelten zugreifen
var temper=parseInt(msg.payload.temperature);
temp=temper;
var seconDigit=temp%10;
temp=parseInt(temp/10);
var first=temp%10;
temp=temp/10;
var count;
//msg={"payload":{"one":first,"two":seconDigit}};
//return msg;
if(msg.payload.screen=="on"){
var firstCol="*,*,#800000";
count=0;
for(var i=1;i<=2;i++){
for(var j=1;j<=6;j++){
if(count<first){
firstCol=firstCol+","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}
}
}
count=0;
for(var i=5;i<=6;i++){
for(var j=1;j<=6;j++){
if(count<seconDigit){
firstCol+=","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}
}
}
//msg={"payload":first};
//return msg;
msg={"payload":firstCol};
return msg;
}
else if(msg.payload.screen=="off"){
var firstCol="*,*,#008000";
count=0;
for(var i=1;i<=2;i++){
for(var j=1;j<=6;j++){
if(count<firstDigit){
firstCol+=","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}
}
}
count=0;
for(var i=5;i<=6;i++){
for(var j=1;j<=6;j++){
if(count<seconDigit){
firstCol=firstCol+","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}
}
}
msg={"payload":firstCol};
return msg;
}
else{
msg={"payload":"*,*,#000000"};
return msg;
}
Ich bin nicht in der Lage, die first
und seconDigit
Variablen zuzugreifen Innerhalb der verschachtelten for-Schleife wird dieser Teil des Codes nicht ausgeführt. Mein erwartetes Ergebnis sollte ein zwei Strings sein. ist *,*,#000000
und die anderen langen Zeichenfolge basierend auf dem temp
Wert sehen etwa so *,*,.....
. Aber wenn ich die paar Zeilen auf Kommentar-, sie scheinen gut zu funktionieren. Was mache ich falsch und was sollte ich ändern, um auf die Werte innerhalb der for-Schleife zuzugreifen?
Es funktioniert. Aber warum funktioniert es? –
von global.set() Sie zunächst den Wert der Temperatur auf die globale Variable zu speichern. Sie können also von jedem Fluss im nedierten Programm darauf zugreifen. Alternativ könnten Sie flow.set() verwenden, um im selben Ablauf darauf zuzugreifen. –