Skip to content
  • 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
Logo
  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.1k

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

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

Funktion sequentiell abarbeiten

Scheduled Pinned Locked Moved Entwicklung
callbacksequentiell
4 Posts 3 Posters 364 Views 3 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.
  • BaumertB Offline
    BaumertB Offline
    Baumert
    wrote on last edited by
    #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 Reply Last reply
    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
      wrote on last edited by 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 Reply Last reply
      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
        wrote on last edited by
        #3

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

        1 Reply Last reply
        0
        • OliverIOO Offline
          OliverIOO Offline
          OliverIO
          wrote on last edited by
          #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 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

          582

          Online

          32.4k

          Users

          81.4k

          Topics

          1.3m

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

          • Don't have an account? Register

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