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

  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Funktion sequentiell abarbeiten

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

Funktion sequentiell abarbeiten

Geplant Angeheftet Gesperrt Verschoben Entwicklung
callbacksequentiell
4 Beiträge 3 Kommentatoren 364 Aufrufe 3 Watching
  • Ä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.
  • BaumertB Offline
    BaumertB Offline
    Baumert
    schrieb am zuletzt editiert von
    #1

    Hallo, die callback Funktion funktioniert super - so, jetzt sollte ich aber eine Funktion sequentiell abarbeiten, bekommen ich aber nicht hin - irgendwo stehe ich auf dem Schlauch:

    Ich habe folgende, vereinfacht dargestellte, Funktion:

    function serverUpdate()
    {
        request(
        {
            url:  'http://xxxxxxx',
            json: true
        },
        function (error, response, content){
    
            if (!error && response.statusCode == 200){
    
                 .....
         
            }
        });
    }
    

    Die muss ich es anstellen, damit diese Funktion sequentiell abgearbeitet wird.

    Vorab vielen Dank...

    MicM 1 Antwort Letzte Antwort
    0
    • BaumertB Baumert

      Hallo, die callback Funktion funktioniert super - so, jetzt sollte ich aber eine Funktion sequentiell abarbeiten, bekommen ich aber nicht hin - irgendwo stehe ich auf dem Schlauch:

      Ich habe folgende, vereinfacht dargestellte, Funktion:

      function serverUpdate()
      {
          request(
          {
              url:  'http://xxxxxxx',
              json: true
          },
          function (error, response, content){
      
              if (!error && response.statusCode == 200){
      
                   .....
           
              }
          });
      }
      

      Die muss ich es anstellen, damit diese Funktion sequentiell abgearbeitet wird.

      Vorab vielen Dank...

      MicM Offline
      MicM Offline
      Mic
      Developer
      schrieb am zuletzt editiert von Mic
      #2

      @Baumert
      Du willst also ein callback in deine Funktion serverUpdate() einbauen, richtig?

      Würde es so machen auf die Schnelle. Zum prüfen der Reihenfolge habe ich entsprechende Logs hinzugefügt.

      serverUpdate(function(success){
          log('Jetzt sind wir im callback von serverUpdate(). Rückmeldung: ' + success);
      });
      
      function serverUpdate(callback) {
          log('Funktion serverUpdate() ausgeführt.');
          request(
          {
              url:  'http://google.de',
              json: true
          },
          function (error, response, content){
              log('Jetzt sind wir im Callback von request()');
              if (!error && response.statusCode == 200){
                  log('request() war erfolgreich, also geben wir true zurück.');
                  return callback(true);
              } else {
                  log('request() war nicht erfolgreich, also geben wir false zurück.');
                  return callback(false);
              }
          });
      }
      

      Ausgabe:

      19:22:24.006	info	javascript.0 (4621) script.js.A-Test.Callback: Funktion serverUpdate() ausgeführt.
      19:22:24.243	info	javascript.0 (4621) script.js.A-Test.Callback: Jetzt sind wir im Callback von request()
      19:22:24.244	info	javascript.0 (4621) script.js.A-Test.Callback: request() war erfolgreich, also geben wir true zurück.
      19:22:24.244	info	javascript.0 (4621) script.js.A-Test.Callback: Jetzt sind wir im callback von serverUpdate(). Rückmeldung: true
      
      BaumertB 1 Antwort Letzte Antwort
      0
      • MicM Mic

        @Baumert
        Du willst also ein callback in deine Funktion serverUpdate() einbauen, richtig?

        Würde es so machen auf die Schnelle. Zum prüfen der Reihenfolge habe ich entsprechende Logs hinzugefügt.

        serverUpdate(function(success){
            log('Jetzt sind wir im callback von serverUpdate(). Rückmeldung: ' + success);
        });
        
        function serverUpdate(callback) {
            log('Funktion serverUpdate() ausgeführt.');
            request(
            {
                url:  'http://google.de',
                json: true
            },
            function (error, response, content){
                log('Jetzt sind wir im Callback von request()');
                if (!error && response.statusCode == 200){
                    log('request() war erfolgreich, also geben wir true zurück.');
                    return callback(true);
                } else {
                    log('request() war nicht erfolgreich, also geben wir false zurück.');
                    return callback(false);
                }
            });
        }
        

        Ausgabe:

        19:22:24.006	info	javascript.0 (4621) script.js.A-Test.Callback: Funktion serverUpdate() ausgeführt.
        19:22:24.243	info	javascript.0 (4621) script.js.A-Test.Callback: Jetzt sind wir im Callback von request()
        19:22:24.244	info	javascript.0 (4621) script.js.A-Test.Callback: request() war erfolgreich, also geben wir true zurück.
        19:22:24.244	info	javascript.0 (4621) script.js.A-Test.Callback: Jetzt sind wir im callback von serverUpdate(). Rückmeldung: true
        
        BaumertB Offline
        BaumertB Offline
        Baumert
        schrieb am zuletzt editiert von
        #3

        @Mic Hallo, super, vielen Dank - werde ich heute Abend gleich mal testen.

        1 Antwort Letzte Antwort
        0
        • OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #4

          evtl. noch ne weitere idee.
          Wenn der Befehl request ein promise zurückgibt (was es tut, wenn es der originalbefehl von node ist.
          dann könnte man einfach ein then dahintersetzen

          request(aller mögliche codezum abruf der daten).then(das was danach kommen soll);

          nähere erklerung bei google unter javascript promise

          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 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

          739

          Online

          32.4k

          Benutzer

          81.4k

          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