Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Javascript: agressive Intervalle

    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

    [gelöst] Javascript: agressive Intervalle

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

      @bahnuhr Ja schon richtig verstanden. Ich wollte es nur 'elegant' haben.

      1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @Rene55 last edited by

        @rene55
        Ich rate mal: Du willst damit etwas ausgeben und Deine Familie terrorisieren?
        Nach dem Motto: "Hömma du Vollhorst, mach endlich datt Fenster zu!!!" 😁 😁 😁

        Die Differenz (3000) könnte man auch noch dynamisch der Funktion als Parameter mitgeben.

        Hoffentlich verprügelt Dich niemand 😉

        Rene55 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Rene55 last edited by

          @rene55 sagte: soll sofort etwas getan (Ansage, Nachricht, etc) werden, nach 9 Sekunden soll das wiederholt werden, dann nach 6 Sekunden und dann nach 3 Sekunden

          Da es nach Blockly generiertem Code aussieht, eine Blockly-Version:

          Blockly_temp.JPG

          Rene55 1 Reply Last reply Reply Quote 0
          • Rene55
            Rene55 @paul53 last edited by

            @paul53 Das wird wohl der richtige Ansatz für mich werden! Danke.
            Woran kannst du erkennen, dass es ein von Blockly erzeugter Code ist?

            Codierknecht paul53 2 Replies Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @Rene55 last edited by

              @rene55 sagte in Javascript: agressive Intervalle:

              Woran kannst du erkennen, dass es ein von Blockly erzeugter Code ist?

              Weil z.B. die Callbacks von kaum jemandem so geschrieben würden 😉

              Rene55 1 Reply Last reply Reply Quote 0
              • Rene55
                Rene55 @Codierknecht last edited by

                @codierknecht Fast gut geraten. Es soll eine Ansage werden dass ICH die Einnahme von Tabletten nicht vergesse. Die drei Sekunden sind hier natürlich zu Testzwecken. Werden dann wohl so ca. 6 Minuten werden. Hinzu kommt dannnoch die Möglichkeit (irgendein Taster), die Ansagen abzubrechen, wenn ich meine Pillen genommen habe.

                1 Reply Last reply Reply Quote 0
                • Rene55
                  Rene55 @Codierknecht last edited by

                  @codierknecht sagte in Javascript: agressive Intervalle:

                  Callbacks

                  Wie schreibt man die denn 'richtig'?

                  Codierknecht 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Rene55 last edited by paul53

                    @rene55 sagte: Woran kannst du erkennen, dass es ein von Blockly erzeugter Code ist?

                    Im ursprünglichen Code sind Zeilen 5 und 9 typische Blockly-Konstrukte, die man als Javascript-Programmierer i.d.R. so nicht schreiben würde.

                    Rene55 1 Reply Last reply Reply Quote 1
                    • Rene55
                      Rene55 @paul53 last edited by Rene55

                      @paul53 Ja, besonders Zeile 9 hätte ich aus meinem Hirn so nicht hinbekommen!

                      1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Rene55 last edited by

                        @rene55 sagte in [gelöst] Javascript: agressive Intervalle:

                        Wie schreibt man die denn 'richtig'?

                        Die sind ja nicht falsch. Aber die würden die meisten (oder zumindest so einige) Programmierer wohl etwas anders formulieren.
                        Wie @paul53 schon schreibt, ist auch gerade das Dekrimieren des Counter so "typisch Blockly".

                            if (counter) {
                                counter--;
                                doAnything(counter);
                            } else {
                                if (Intervall) { clearInterval(Intervall); Intervall = null; };
                                log('Fertig');
                            }
                        
                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Codierknecht last edited by

                          @codierknecht
                          Da der Teil innerhalb der Intervall-Callback-Funktion ausgeführt wird, kann man sich die Prüfung und das Rücksetzen auf null sparen.

                              if (counter > 0) {
                                  counter--;
                                  doAnything(counter);
                              } else {
                                  clearInterval(Intervall);
                                  log('Fertig');
                              }
                          

                          Die Prüfung "counter > 0" ist sinnvoll, wenn nicht garantiert werden kann, dass counter mit einer positiven ganzen Zahl initialisiert wurde.

                          Codierknecht 1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @paul53 last edited by

                            @paul53 sagte in [gelöst] Javascript: agressive Intervalle:

                            kann man sich die Prüfung und das Rücksetzen auf null sparen

                            ... auch das 😉

                            Rene55 1 Reply Last reply Reply Quote 0
                            • Rene55
                              Rene55 @Codierknecht last edited by

                              @codierknecht @paul53 Danke euch beiden - wieder was gelernt 😊

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              965
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

                              4
                              17
                              456
                              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