NEWS
Wetterdaten abrufen per API-Call mit dem Javascript Adapter
-
@catshape Ich nutze beide Schreibweisen, die Kurze allerdings nicht bei verschachtelten Abfragen, wegen der Übersichtlichkeit.. Ist aber wohl Geschmackssache :)
@frederik-buss genau so meinte ich es auch. Ich kann natürlich die dritte nur prüfen, wenn tatsächlich auch die erste bzw. zweite existiert. Es war von mir als Ansatz gedacht, nicht als fertige Lösung.
Ro75.
-
@frederik-buss sagte in Wetterdaten abrufen per API-Call mit dem Javascript Adapter:
Geht! Danke für den Javascript Auffrischungskurs :D
Gern gemacht.
@frederik-buss sagte in Wetterdaten abrufen per API-Call mit dem Javascript Adapter:
> if ('rain' in weatherData.current) > { > if ('1h' in weatherData.current.rain) > { > setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, weatherData.current.rain['1h']); > } > else { > setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, 0); > } > } > else { > setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, 0); > }Ich wollte Dich auch nicht zugunsten von
if (_) {_} else {_}von der kompakten(_) ? _ : _Variante abbringen.setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, ('rain' in weatherData.current) ? (('1h' in weatherData.current.rain) ? weatherData.current.rain['1h'] : 0) : 0);macht exakt dasselbe wie Dein neuer Code.
@catshape sagte in Wetterdaten abrufen per API-Call mit dem Javascript Adapter:
if ('rain' in weatherData.current) { if ('1h' in weatherData.current.rain)Das ist aber nicht übersichtlich, außerdem macht es von der codeseite her keinen unterschied ob die Eigenschaft nicht da ist. Daher wäre eine kurze übersichtliche Abfrage sinnvoll:
Kurzversion:
if (weatherData?.current?.rain?.['1h'] != undefined) { // !== hier prüft auf undefined - != auf undefined und null setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, weatherData.current.rain['1h']); } else { setState(`${basePathHMIP}HMIP_Wetter_Aktuell_Regen`, 0); }