Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. js callback asynchron problem

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

js callback asynchron problem

Scheduled Pinned Locked Moved JavaScript
16 Posts 5 Posters 1.0k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • liv-in-skyL liv-in-sky

    @AlCalzone

    ich habe immer wieder probleme mit dem async und await - toll wäre es, wenn man so was wie mit dem type-script kurs für adapterentwickler machen würde - nur halt für dieses thema

    AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    wrote on last edited by
    #7

    @liv-in-sky https://gist.github.com/AlCalzone/d14b854b69ce5e8a03718336cc650a95
    😎

    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

    liv-in-skyL 1 Reply Last reply
    1
    • AlCalzoneA AlCalzone

      @liv-in-sky https://gist.github.com/AlCalzone/d14b854b69ce5e8a03718336cc650a95
      😎

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      wrote on last edited by
      #8

      @AlCalzone danke werd ich mal durcharbeiten

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      1 Reply Last reply
      0
      • liv-in-skyL liv-in-sky

        @AlCalzone

        ich habe immer wieder probleme mit dem async und await - toll wäre es, wenn man so was wie mit dem type-script kurs für adapterentwickler machen würde - nur halt für dieses thema

        F Offline
        F Offline
        fastfoot
        wrote on last edited by
        #9

        @liv-in-sky sagte in js callback asynchron problem:

        ....wenn man so was wie mit dem type-script kurs für adapterentwickler machen würde....

        gibt es dazu einen Link?

        iobroker läuft unter Docker auf QNAP TS-451+
        SkriptRecovery: https://forum.iobroker.net/post/930558

        liv-in-skyL 1 Reply Last reply
        0
        • F fastfoot

          @liv-in-sky sagte in js callback asynchron problem:

          ....wenn man so was wie mit dem type-script kurs für adapterentwickler machen würde....

          gibt es dazu einen Link?

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          wrote on last edited by
          #10

          @fastfoot

          https://forum.iobroker.net/topic/36493/09-09-20-30-einsteiger-cursus-demonstration-von-typescript

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          F 1 Reply Last reply
          1
          • liv-in-skyL liv-in-sky

            @fastfoot

            https://forum.iobroker.net/topic/36493/09-09-20-30-einsteiger-cursus-demonstration-von-typescript

            F Offline
            F Offline
            fastfoot
            wrote on last edited by
            #11

            @liv-in-sky cool, Danke!

            iobroker läuft unter Docker auf QNAP TS-451+
            SkriptRecovery: https://forum.iobroker.net/post/930558

            1 Reply Last reply
            0
            • AlCalzoneA AlCalzone

              Eventuell sind die neuen async-Funktionen in 4.8.x was für dich @hanss
              https://forum.iobroker.net/topic/36999/neu-diverse-async-funktionen-im-javascript-adapter

              Damit lässt sich der Programmablauf trotz asynchronität schön steuern. Ich hab den obigen Schnipsel mal entsprechend umgebaut. Beachte das async vor der Funktion und await setStateAsync:

              async function raumzaehler() {
              	var Raumctr = 0;
              
              	// Schleife für jeden Raum ######################################
              	for (let i = 0; i < S_Raum.length; i++) {
              		const element = S_Raum[i];
              		if (SollTemp_akt != Temp_FOA && SollTemp_akt != Temp_Abw) {
              			await setStateAsync(Out_Root + D_Raum[index] + ".Man", SollTemp_akt, true);
              			setRT(index, element, SollTemp_akt); // function setRT wg. Callback
              			log("RaumzählerCB: " + Raumctr + " Index: " + RaumIndex);
              		} else {
              			setRT(index, element, SollTemp_akt);
              			log("Raumzähler: " + Raumctr + " Index: " + RaumIndex);
              		}
              	}
              	// Schleife für jeden Raum ######################################
              
              	// ##########   Script soll hier fortfahren, wenn  Schleife für jeden Raum durchlaufen ist.  ##########
              	log("Raumzähler nach allen Räumen: " + Raumctr + " Index: " + RaumIndex);
              
              }
              
              // Funktion aufrufen nicht vergessen!
              raumzaehler();
              
              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              wrote on last edited by
              #12

              @AlCalzone

              Async und await machen aus asynchronen Funktionen wieder synchrone Funktionen.
              Das will er ja nicht

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              OliverIOO hanssH AlCalzoneA 3 Replies Last reply
              0
              • OliverIOO OliverIO

                @AlCalzone

                Async und await machen aus asynchronen Funktionen wieder synchrone Funktionen.
                Das will er ja nicht

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                wrote on last edited by OliverIO
                #13

                Hier mal ein kurzer Artikel, der auf einen Punkt eingeht, der die Funktionsweise der asynchronen Funktionen (callback oder auch promise basiert) erklärt

                https://dev.to/steelvoltage/if-javascript-is-single-threaded-how-is-it-asynchronous-56gd

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                1 Reply Last reply
                0
                • OliverIOO OliverIO

                  @AlCalzone

                  Async und await machen aus asynchronen Funktionen wieder synchrone Funktionen.
                  Das will er ja nicht

                  hanssH Offline
                  hanssH Offline
                  hanss
                  wrote on last edited by
                  #14

                  @OliverIO
                  Vielen Dank, ich habe das jetzt so gelöst:

                  In die Funktion setRT() einen Raumzähler und das Script eingefügt, wenn alle Räume durchlaufen sind:
                  Das ist sehr übersichtlich und nicht so kompliziert wie async und await.
                  Ich glaube, das kapier ich nicht mehr.

                  setRT() {
                    Raumctr++
                    //mein Script
                  
                     if (S_Raum.length == Raumctr){              // letzter Raum
                         // Script hier, wenn alle Räume durchlaufen sind 
                         Raumctr=0        
                     }
                  }
                  
                  1 Reply Last reply
                  0
                  • OliverIOO OliverIO

                    @AlCalzone

                    Async und await machen aus asynchronen Funktionen wieder synchrone Funktionen.
                    Das will er ja nicht

                    AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    wrote on last edited by AlCalzone
                    #15

                    @OliverIO wieso nicht? Wenn man etwas ausführen will, nachdem asynchrone Vorgänge durch sind, ist async/await genau das richtige Mittel.
                    Und IMO intuitiver als der callback Krempel. Nach dem Aufruf mit await ist es einfach fertig.

                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                    OliverIOO 1 Reply Last reply
                    0
                    • AlCalzoneA AlCalzone

                      @OliverIO wieso nicht? Wenn man etwas ausführen will, nachdem asynchrone Vorgänge durch sind, ist async/await genau das richtige Mittel.
                      Und IMO intuitiver als der callback Krempel. Nach dem Aufruf mit await ist es einfach fertig.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by
                      #16

                      @AlCalzone
                      Ah hatte einer seiner Antworten falsch interpretiert. Hab nochmal gelesen.
                      Wenn er mit seiner Lösung nun zufrieden ist, ist ja alles gut

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      286

                      Online

                      32.4k

                      Users

                      81.4k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe