Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 15 von 44
  1. #1
    bis
    bis ist offline Routinier
    registriert
    09-09-2009
    Beiträge
    459

    Keine sequentelle Ausführung geladener JS-Module

    Ich habe sporadische Deklarations-Fehler bei einer Variablen. Simple Beispiel:
    ModulA.js definiert Klasse A
    ModulB.js hier wird die Instanz "myInstA" von Klasse A gebildet
    (ist sehr kurz, dient nur der zentralen Variablen-Deklaration)
    ModulC.js...bis E werden geladen
    ModulF.js verwendet "myInstA" und oft - nicht immer - wird diese Instanz als nicht gebildet angezeigt (...is not defined in Fehlerkonsole).

    Wenn ich aber die Instanz "myInstA" direkt in ModulA bilde, dann passiert das nicht. Das ganze ist mir jetzt mehrmals passiert.

    Für mich ist das total unlogisch. Wenn man schon alles sequentiell einlesen muß (was ich schlimm genug finde und so nicht gewohnt bin), dann sollte man sich doch wenigstens darauf verlassen können, daß die Module sequentiell gelesen und ausgeführt werden. Alles in FF 3.5.

    Wenn nicht, wie es hier geschieht, wie soll man jemals sicher stellen, daß das, was verwendet wird, zuvor auch deklariert wurde?

    Für jeden Tipp dankbarer und frustirerter JS Anfänger

  2. #2
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Keine sequentelle Ausführung geladener JS-Module

    Zitat Zitat von bis Beitrag anzeigen
    Ich habe sporadische Deklarations-Fehler bei einer Variablen. Simple Beispiel:
    ModulA.js definiert Klasse A
    ModulB.js hier wird die Instanz "myInstA" von Klasse A gebildet
    (ist sehr kurz, dient nur der zentralen Variablen-Deklaration)
    ModulC.js...bis E werden geladen
    ModulF.js verwendet "myInstA" und oft - nicht immer - wird diese Instanz als nicht gebildet angezeigt (...is not defined in Fehlerkonsole).

    Wenn ich aber die Instanz "myInstA" direkt in ModulA bilde, dann passiert das nicht. Das ganze ist mir jetzt mehrmals passiert.

    Für mich ist das total unlogisch. ...
    Das klingt auch für einen Erfahrenen unlogisch und passiert auch so nicht, d.h. bei dir passiert irgendetwas anderes, aber mit der Beschriebung läßt sich auch nicht sagen was.

  3. #3
    bis
    bis ist offline Routinier
    registriert
    09-09-2009
    Beiträge
    459

    AW: Keine sequentelle Ausführung geladener JS-Module

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Das klingt auch für einen Erfahrenen unlogisch und passiert auch so nicht, d.h. bei dir passiert irgendetwas anderes, aber mit der Beschriebung läßt sich auch nicht sagen was.
    Ok, das ist schon mal beruhigend. Ich dachte schon, das ist JavaScript Roulette, das ich hier spiele.

    Vielleicht hat das die selbe Ursache, wie die anderen mysteriösen Dinge bei mir.

    Gerade wieder so etwas: Beim ersten Duchlauf nach FF Neustart kommen Fehlermeldungen über nicht deklarierte Funktionen, die definitiv da sind und diese Fehler kommen beim nächsten Lauf nicht mehr.

    Ich gehe mal auf einen anderen Rechner....

  4. #4
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Keine sequentelle Ausführung geladener JS-Module

    Ich hab keine Ahnung was du da machst, ich muss Firefox nur Neustarten, wenn ich mal Mist gebaut und eine Endlosschleife gebaut habe. Ansonsten laufen die Skripte genau wie es sein sollte. Und es kommen natürlich auch keine Fehlermeldungen über angeblich nicht vorhandene Objekte wenn sie da sind. Das ist 100% ein Fehler von dir. Aber wie immer läßt es sich nicht helfen wenn du uns nichts zeigst

  5. #5
    bis
    bis ist offline Routinier
    registriert
    09-09-2009
    Beiträge
    459

    AW: Keine sequentelle Ausführung geladener JS-Module

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Das ist 100% ein Fehler von dir. Aber wie immer läßt es sich nicht helfen wenn du uns nichts zeigst
    Ich richte das mit den Variablen wieder so ein, wie es eigentlich sein sollte, und versuche, den Fehler zu reproduzieren und melde mich dann.

    Nur das hier, das ist so eindeutig skuril, weil es eben meistens läuft/lief, aber halt nicht immer und diese Variable ganz klar vorher delariert wird.

  6. #6
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Keine sequentelle Ausführung geladener JS-Module

    Zitat Zitat von bis Beitrag anzeigen
    Nur das hier, das ist so eindeutig skuril, weil es eben meistens läuft/lief, aber halt nicht immer und diese Variable ganz klar vorher delariert wird.
    Und das ist in jeder Programmiersprache ein Zeichen für einen Fehler. JS ist Logisch und eindeutig, es macht nie etwas anderes, als das was du programmierst.

  7. #7
    bis
    bis ist offline Routinier
    registriert
    09-09-2009
    Beiträge
    459

    AW: Keine sequentelle Ausführung geladener JS-Module

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Und das ist in jeder Programmiersprache ein Zeichen für einen Fehler. JS ist Logisch und eindeutig, es macht nie etwas anderes, als das was du programmierst.
    Wenn ich es nicht selbst erlebt hätte, würde ich das auch so sagen. Aber es ist anders. Siehe nächster Post.

    Und pardon, aber ich bin seit >25 Jahren in der SW-Entwicklung und habe neben vielen kleinen drei große Projekte geleitet mit >20 bis 50 Mannjahren (sind alle ins Laufen gekommen) und seit >20 Jahren entwickle ich selbst in Smalltalk.

  8. #8
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.667

    AW: Keine sequentelle Ausführung geladener JS-Module

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Das klingt auch für einen Erfahrenen unlogisch und passiert auch so nicht.
    außer die variable wird in einem asynchronen callback angelegt.
    damit sind wir wieder bei der synchronisation!

  9. #9
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Keine sequentelle Ausführung geladener JS-Module

    Das erwähntest du bereits mehrmals, trotzdem sind deine Schilderungen nicht nachvollzierbar.

    EDIT: Das bezog sich auf bis

  10. #10
    bis
    bis ist offline Routinier
    registriert
    09-09-2009
    Beiträge
    459

    AW: Keine sequentelle Ausführung geladener JS-Module

    Ok, der Fehler ist wieder aufgetreten, diesmal allerdings bei einer anderen Variablen (auch das kam schon ein paar mal vor). Gleicher Link wie vorher bei "JS by Zufall"

    Im dritten geladenen App-Modul "ECVars" wird in# 17 eine Klasse "ECStack" definiert und in #28 die Instanz "stack" gebildet.
    Danach werden 5 weitere Module geladen.
    Dann das Modul "ECCatalog" und dort wird mehfach "stack" verwendet, gleich in #3, denn in #301 + #311, dann in #319 und erst dort trat der Fehler auf.

    Siehe Fotos.

    Das Verrückte, das beweist, daß ich nicht spinne und daß das kein Fehler im Code sein kann, das ist dies:

    Lt. Foto 2 enthält die Variable "stack" bereits eine Reihe von Einträgen, bevor der Fluß überhaupt zum Modul "ECCatalog" kommt, denn ich schreibe von jedem Model einen Protokoll-Eintrag da rein. Das betrifft die Elemente in "stack" Nr 1-7. Und das Foto von Firebug ist garantiert aus dem selben Lauf wie die Meldung in der Fehlerkonsole.

    Das ist irre!


    Der andere Fehler war analog dieser (kann sporadisch wieder vorkommen), nur bei einer anderen Variablen:
    Das zweite geladene App-Modul ist "ECTestAndMisc" mit der Klasse TestJs.
    Sofort danach wird Modul "ECVars" geladen und dort von TestJs die Instanz "tc" in #6 und #14 gebildet.
    Dann werden drei weitere Module geladen und dann "ECApp". Dort wird Instanz "tc" u.a. in #749 verwendet (und an anderen Stellen) und dort kam mehrfach der Fehler der nicht deklarierten Varianblen während des Starts.

    Wenn ich aber direkt in "ECTestAndMisc" die Instanz "tc" bilde, passierte das (bisher noch) nicht. Siehe #196, derzeit tot gelegt.
    Angehängte Grafiken Angehängte Grafiken

  11. #11
    bis
    bis ist offline Routinier
    registriert
    09-09-2009
    Beiträge
    459

    AW: Keine sequentelle Ausführung geladener JS-Module

    Zitat Zitat von hesst Beitrag anzeigen
    außer die variable wird in einem asynchronen callback angelegt.
    damit sind wir wieder bei der synchronisation!
    In diesem Fall ist es eindeutig:
    - Variable wird ganz am Anfang gebildet
    - Wird mehrfach benutzt
    - das ist NICHT in einem Callback
    und bei dem zweiten Fall treffen diese Punkte genauso zu

  12. #12
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Keine sequentelle Ausführung geladener JS-Module

    PHP-Code:
            var page this.catPagesHolder[aPageNr];
            
    //page exists with data -> answer it
            
    if(!page.isPageEmpty) {return obj;} 
    Der Browser sagt nicht, dass page nicht existiert, sondern page ist undefiniert, d.h. die Zuweisung this.catPagesHolder[aPageNr]; ist gleich undefined. Du solltest Variabeln prüfen, die du verwendest (ich weiß nicht ob man das in Smalltalk nicht macht)

  13. #13
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Keine sequentelle Ausführung geladener JS-Module

    Dein zweiter Fehler:
    PHP-Code:
    Fehlerthis.importFromCatIniStore is not a function
    Quelldateihttp://www.elecat.com/reader30/ECCatalog.js
    Zeile333 
    rührt vermutlich daher, dass in dem listener this wahrscheinlich nicht das Objekt ist, dass du vermutest. Da kommt es immer darauf an, wer diese Funktion aufruft.

  14. #14
    bis
    bis ist offline Routinier
    registriert
    09-09-2009
    Beiträge
    459

    AW: Keine sequentelle Ausführung geladener JS-Module

    Ein Gedanke zur möglichen Ursache kommt mir:

    Derzeit wird eine Ext Lib geladen, die zwei oder drei Debugger Befehle enthält, die aber bisher nie zur Ausführung kamen.

    Könnte das die Ursache sein?

    Ich nehme die mal raus und versuche, ob das wieder auftritt. Allerdings sind zwei dieser Debugger Befehle konditional
    {if(debug) {debugger;}
    und debug ist false also werden sie auch nicht ausgeführt einer nicht.

  15. #15
    bis
    bis ist offline Routinier
    registriert
    09-09-2009
    Beiträge
    459

    AW: Keine sequentelle Ausführung geladener JS-Module

    Das ist eine ganz andere Baustelle.

    Wenn das Programm bis dahin gekommen ist, dann sind die genannten Problem nicht aufgetreten. Das ist ja das irre: ca. 1 x von 3-5 Versuchen.

    Am besten FF neu starten.

Seite 1 von 3 123 LetzteLetzte

Lesezeichen

Berechtigungen

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