Ergebnis 1 bis 4 von 4
  1. #1
    ev3rw00d_83 ist offline Grünschnabel
    registriert
    14-09-2020
    Beiträge
    1

    Globale Variable

    Hallo,

    ich beiße mir gerade die Zähne aus, vielleicht kann mir jemand helfen.
    Ich habe mich auch schon tot-gesucht, werde aber nicht schlauer ...

    Ich möchte mit JavaScript überprüfen, ob es auf GitHub eine neue Version von einem Projekt gibt.
    Leider sind meine Variablen immer leer.

    Egal an welcher stelle ich diese anlege, egal ob mit VAR, LET oder ohne Prefix.
    Theoretisch sollten die Dinger doch, sofern ich die oben außerhalb jeglicher Funktionen und Klammern anlege, global sein.
    Oder kann das ein Problem mit der Reihenfolge sein?

    Code:
    <script>
    
    var local_version = "";
    var online_version = "";
    
    ...
    
    {
    
        var apiVerUrl = 'https://api.github.com/repos/MEIN-PROJEKT/tags';
        var verCheck = '';
       	  
        axios.get(host + "/rpc/DEVICE.GetInfo").then(function(res2) {
        var data = res2.data;
           local_version = data.version;
           })
          
        fetch(apiVerUrl, { timeout: 100, timeoutIncludesBody: true })
          .then(function(response){
            return response.json();
          })
          .then(function(data){
            online_version = (data[1].name); 
          })
          if (online_version == "") {
                verCheck = "1 - Not rechable. " + this.local_version +  " L / O " + online_version;
            } else if (local_version == online_version) {
                verCheck = "2 - Up to date. " + this.local_version +  " L / O " + online_version;
            } else {
                verCheck = "3 - New software. " + this.local_version +  " L / O " + online_version;
            }
          el('app_version_online').innerHTML = verCheck;
        
    }
    Innerhalb der AXIOS-Funktion sowie innerhalb der FETCH-Funktion ist alles richtig und ein ALERT gibt mir den richtigen Wert aus.
    Aber später in meiner IF-Funktion sind beide Variablen (local_version & online_version) immer leer, bzw. haben den vorher definierten Wert "".

    Wo ist da der Trick?

    Für jeden Tipp wäre ich dankbar.

    LG

    Ev3rw00d

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.779

    AW: Globale Variable

    Spontane Idee: ist da die Reihenfolge gewahrt? Stichworte Asynchronität von Funktionen und callbacks?
    Ganz unten das if scheint beim Drüberfliegen ziemlich unabhängig von den timeouts u. ä. zu stehen. Passt das im Debugging von der Reihenfolge alles?

    https://riptutorial.com/de/javascrip...und-asynchron-

    https://m.heise.de/developer/artikel...html?seite=all

    https://alexandernaumov.de/artikel/j...-programmieren
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  3. #3
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.302

    AW: Globale Variable

    Zitat Zitat von ev3rw00d_83 Beitrag anzeigen
    Wo ist da der Trick?
    Wie mikdoe schon sagte, du machst asynchrone Anfragen, machst die Auswertung aber synchron (d.h. du wartest nicht, bis die Anfragen ein Ergebnis haben).

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.744

    AW: Globale Variable

    Sowohl das axios.get als auch das fetch geben ein Promise zurück. Ich würde diese mit einem Promise.all() kombinieren, dann hast du dann in diesem Promise dann beide Ergebnisse verfügbar und kannst sie vergleichen.
    Geändert von mikdoe (18-09-2020 um 06:37 Uhr) Grund: Link repariert

Ähnliche Themen

  1. Globale Variable?
    Von Sorm im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 22-01-2013, 20:11
  2. globale Variable
    Von ru2009ru im Forum JavaScript
    Antworten: 12
    Letzter Beitrag: 30-12-2010, 15:16
  3. Globale Variable
    Von kulturfenster im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 24-08-2009, 15:38
  4. Closure und globale Variable
    Von WootWoot im Forum JavaScript
    Antworten: 8
    Letzter Beitrag: 15-02-2008, 19:29
  5. globale variable
    Von jr-ewing im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 13-11-2007, 12:13

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •