NEWS
HTTP-Post und Headerübergabe
-
@hackypaddy sagte in HTTP-Post und Headerübergabe:
Sagmal, bietest Du auch einen MasterKurs "JavaScript Advance" an.
Hatte ich mir überlegt, aber wo fängt man da an? All das hier sind ja JavaScript-Grundlagen und haben erstmal nichts mit dem ioBroker zu tun.
Und wenn ich ganz vorne anfange, dann ist es ein extrem weiter Weg der ganzen Grundlagen, bis ich überhaupt mal bei ioBroker-Themen ankomme. Und dann sind wir so weit vom Smart Home Thema weg, dass ich mich erstmal dagegen entschieden habe.
Also ich wäre dabei. Ich muss eh alles von Grund neu lernen, bin schon viel zu lange raus.
Aber! Die Lösung mit try catch läuft auch nicht. Ich hab testweise mal die URL geändert, sodass es zwangsläufig zum Fehler kommt. Er steigt wieder aus mit dem Hinweis, kein .catch oder Catch-Block vorhanden. Der Adapter schmiert ab...
javascript.0 2024-11-05 11:30:00.205 error unhandled promise rejection: getaddrinfo ENOTFOUND XXX javascript.0 2024-11-05 11:30:00.205 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().Hmm, hast noch ne Idee?
-
Also ich wäre dabei. Ich muss eh alles von Grund neu lernen, bin schon viel zu lange raus.
Aber! Die Lösung mit try catch läuft auch nicht. Ich hab testweise mal die URL geändert, sodass es zwangsläufig zum Fehler kommt. Er steigt wieder aus mit dem Hinweis, kein .catch oder Catch-Block vorhanden. Der Adapter schmiert ab...
javascript.0 2024-11-05 11:30:00.205 error unhandled promise rejection: getaddrinfo ENOTFOUND XXX javascript.0 2024-11-05 11:30:00.205 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().Hmm, hast noch ne Idee?
@hackypaddy sagte in HTTP-Post und Headerübergabe:
Aber! Die Lösung mit try catch läuft auch nicht.
Ach sorry, wenn man nebenbei etwas anderes macht, ... Das liegt daran, dass ja das Promise zurückgegeben wird und es außerhalb ausgeführt wird. So sollte es klappen:
try { const response = await httpPostAsync( 'http://jsonplaceholder.typicode.com/posts', { title: 'foo', body: 'bar', userId: 1 }, { timeout: 2000, headers: { 'Content-Type': 'application/json' } } ); return response; } catch (err) { console.warn(err); return { statusCode: -1, data: '', headers: [], }; } -
@hackypaddy sagte in HTTP-Post und Headerübergabe:
Aber! Die Lösung mit try catch läuft auch nicht.
Ach sorry, wenn man nebenbei etwas anderes macht, ... Das liegt daran, dass ja das Promise zurückgegeben wird und es außerhalb ausgeführt wird. So sollte es klappen:
try { const response = await httpPostAsync( 'http://jsonplaceholder.typicode.com/posts', { title: 'foo', body: 'bar', userId: 1 }, { timeout: 2000, headers: { 'Content-Type': 'application/json' } } ); return response; } catch (err) { console.warn(err); return { statusCode: -1, data: '', headers: [], }; }Diesmal klappt es.
Genau da brauch ich Nachhilfe
Er gibt jetzt den Statuscode vom Catch Block zurück und der Adapter schmiert nicht mehr ab.
Kann man den JavaScript-Adapter die Errormeldung im Log noch irgendwie abgewöhnen?
javascript.0 2024-11-05 11:58:00.018 error script.js.common.ATU.Messdaten_senden: httpPost(url=XXX, error=getaddrinfo ENOTFOUND XXX)Ich hab ja schon die Behandlung im Blockly, wäre doppelt gemoppelt.
-
Diesmal klappt es.
Genau da brauch ich Nachhilfe
Er gibt jetzt den Statuscode vom Catch Block zurück und der Adapter schmiert nicht mehr ab.
Kann man den JavaScript-Adapter die Errormeldung im Log noch irgendwie abgewöhnen?
javascript.0 2024-11-05 11:58:00.018 error script.js.common.ATU.Messdaten_senden: httpPost(url=XXX, error=getaddrinfo ENOTFOUND XXX)Ich hab ja schon die Behandlung im Blockly, wäre doppelt gemoppelt.
@hackypaddy sagte in HTTP-Post und Headerübergabe:
Kann man den JavaScript-Adapter die Errormeldung im Log noch irgendwie abgewöhnen?
Gibt dazu schon einen Feature Request auf GitHub. Muss halt jemand machen

-
@hackypaddy sagte in HTTP-Post und Headerübergabe:
Kann man den JavaScript-Adapter die Errormeldung im Log noch irgendwie abgewöhnen?
Gibt dazu schon einen Feature Request auf GitHub. Muss halt jemand machen

