Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Funktion sequentiell abarbeiten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Funktion sequentiell abarbeiten

    This topic has been deleted. Only users with topic management privileges can see it.
    • Baumert
      Baumert last edited by

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

      Mic 1 Reply Last reply Reply Quote 0
      • Mic
        Mic Developer @Baumert last edited by 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
        
        Baumert 1 Reply Last reply Reply Quote 0
        • Baumert
          Baumert @Mic last edited by

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

          1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO last edited by

            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

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            889
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            callback sequentiell
            3
            4
            335
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo