Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Problem mit asynchronen AJAX Calls und Programmlogik

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Problem mit asynchronen AJAX Calls und Programmlogik

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
5 Beiträge 3 Kommentatoren 1.7k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    StefSign
    schrieb am zuletzt editiert von
    #1

    Morgen,

    wie macht Ihr es mit den asynchronen GET Calls in Euren Adaptern? Ich bin bei der Spark Adapter Programmierung darauf gestossen…async. Calls wie AJAX rufen die Callback Funktion irgendwann mal auf (1 ms - 30 Sek?). Das Javascript Programm läuft normal weiter. Eine Loop mit festen Zeiten (oder setInterval) mach hier keinen Sinn mehr.

    Noch komplexer wird es wenn es eine bestimmte Reihenfolge gibt. Klar, kann man in der AJAX Callback Funktion einen weiteren AJAX Call machen, aber das wird unübersichtlich.

    Die einzige Lösung scheinen mir Promesis zu sein...

    Steve

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      StefSign
      schrieb am zuletzt editiert von
      #2

      …moment, dieses Problem mit "Async" müssten wir eigentlich überall haben wo Callback Funktionen verwendet werden, also auch beim Lesen von Files.

      Hm.

      Steve

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        smiling_Jack
        schrieb am zuletzt editiert von
        #3

        Auch da kann ich dir den S7 zum akuten empfehlen.

        Ich starte da mehrere asynchrone Datenabrufe. Und wenn alle fertig sind starte ich den Vorgang über settimeout neu.

        Nutzen tue ich dafür die async.js libary.

        Du kannst auch die Zeit des ganzen Vorgangs messen und dann von einer festen Intervalle zeit abziehen. Dann kommst du wieder auf einen gleichmäßige pollintervall.

        Die async.js bietet dir zum bz. Auch die Möglichkeit Funktionen serielle auszuführen. Dadurch bleibt es auch übersichtlich.

        Würde es aber in deinen Fall wenn geht parallel machen.

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #4

          Eigentlich es ist nicht so kompliziert. Du rufst im callback von erster Funktion den Aufruf von zweite und so weiter. Natürlich kannst du irgendwann im Callback-Hell landen, aber so 'hell ' ist das nicht. Und ja, du kannst promises verwenden. Muss aber wissen, dass Node. Js kein jquery hat, sondern andere Module, wie Q oder promises.

          Und dann in der letzter callback - Funktion rufst du wider sich selbst mit setTimeout auf.

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            StefSign
            schrieb am zuletzt editiert von
            #5

            Hi Jungs,

            danke für die Hinweise…gleich mal S7 und async.js ansehen. Und ja ...NodeJs hat kein jQuery, aber ich mache meine AJAX Calls momentan im Admin HTML (config des Spark Adapters).

            Das mit dem Timeout ist mir neu, macht aber auf den ersten Blick Sinn.

            Danke

            Steve

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            761

            Online

            32.5k

            Benutzer

            81.7k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe