Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.javascript > #4945

Re: not a function

From Jan Novak <repcom@gmail.com>
Newsgroups de.comp.lang.javascript
Subject Re: not a function
Date 2018-04-26 07:55 +0200
Organization albasani.net
Message-ID <pbrpju$8v9$1@news.albasani.net> (permalink)
References <pbppha$jg2$1@news.albasani.net> <5377515.lOV4Wx5bFT@PointedEars.de>

Show all headers | View raw


Am 25.04.18 um 21:04 schrieb Thomas 'PointedEars' Lahn:
> Jan Novak wrote:
> 
>> Ich habe folgenden JS Code aus bootstrap-treeview übernommen:
> 
> Nein, hast Du _nicht_, sondern Du hast *wieder* ohne Sinn und Verstand
> Copy & Pray gemacht :-(

Du solltest Lehrer werden ;-)


> 
> Dir ist trotz des vorherigen Threads, den Du vor anderthalb Monaten hier
> angefangen hattest, offenbar *immer* *noch* *nicht* klar, wie *asynchrone*
> Verarbeitung funktioniert, und wie sie sich von *synchroner* Verarbeitung
> unterscheidet.

Das mag sein, da ich bisher nur mit synchronen Daten gearbeitet habe.

Ich hatte bisher leider keine Zeit, neben Arbeit, Beruf, Familie, Kinder 
und und und auch noch einen mehrmonatigen JS Kurs zu machen ;-)


> 
>    function (data) { … }
> 
> als zweites Argument von $.getJSON() ist offensichtlich ein *Callback*, der
> ausgeführt wird, wenn der Server auf den HTTP-Request (URI angegeben durch
> das erste Argument) *geantwortet* hat.
> Die Antwort vom Server trifft in der Regel ein, *nachdem* $.getJSON()
> ausgeführt wurde *und* *zurückgekehrt* ist.  Der Rückgabewert des Callbacks
> landet also _nicht_ in “initSelectableTree”, sondern wird (in der Regel)
> *weggeworfen*.

Wie kann dann überhaupt irgendetwas funktionieren?


> Und der Rückgabewert von jQuery.getJSON() ist, wie Du hättest nachlesen
> können, _nicht_ ausführbar (callable), sondern ein Objekt, was das Promise-
> Interface implementiert (ab jQuery 1.5; vorher wohl der “undefined”-Wert):
> 
> <http://api.jquery.com/jquery.getjson/>
> 
> Ich mal’s Dir nochmal als UML-Sequenzdiagramm auf (Festbreitenschriftart
> verwenden).
> 
> Du willst folgendes machen:
>    
>    .---------------- Client --------------.
>    :                                      :
>                                            
>     Script                   HTTP API                               Server
>       :                         :                                     :
>      .-.       $.getJSON()      :                                     :
>      : :---------------------->.-.  GET /include/fetch.php HTTP/1.x   :
>      : :                       : :---------------------------------->.-.
>      : :  undefined/:: Promise : :                                   : :
>      : :<- - - - - - - - - - --'-'                                   : :
>      : :                                                             : :
>      : :      DOM API    function (data)       HTTP/1.x 200 OK       : :
>      : :         :             .-.<- - - - - - - - - - - - - - - - --'-'
>      : :        .-.<-----------: :                                    :
>      : :        : :            : :                                    :
>      : :        '-'- - - - - ->: :                                    :
>      : :         :             '-'                                    :
>      '-'         :              :                                     :
>       :          :              X                                     :
>       X          :                                                    :

Ich lande also hier ..............^ statt wie gewünscht
hier ...^



> 
> Demgegenüber machen die Bootstrap-Leute im Originalcode etwas *völlig*
> *anderes*:
> 
>    .---------------- Client --------------.         *kein* Server
>    :                                      :
>                                            
>       :
>      .-.
>      : :  (function () { … }())
>      : :----------------------->.-.
>      : :                        : :
>      : :<- - - - - - - - - - - -'-'
>      : :
>      : :  initSelectableTree()
>      : :----------------------->.-.
>      : :                        : :
>      : :<- - - - - - - - - - - -'-'
>      : :
>      '-'
>       :
>       X
>      
> (Schau Dir mal an, wo “defaultData” herkommt.)

defaultData kam aus einerm statischen Array innerhalb JS, was natürlich 
in einem Programm witzlos ist, denn die Daten, welche angezeigt werden 
sollem, kommen natürlich aus einer Datenbank.

> 
> 
> Jetzt klar?

Naja... ein wenig...
Mir fehlen die Basics in JS, unter anderem die a-/synchrone Verarbeitung 
und die Verkettung von Variablen und Funktionen.

Nichts desto trotz möchte ich JS in meinem PHP Programm nutzen können.

**

Unabhängig von meiner Frage und deiner Antwort möchte ich darauf hin 
weisen, dass mit Schulmeisterei weder Sympathien noch Motivation 
geschaffen wird - auch wenn es letztendlich irrelevant ist. Für junge 
Leute, die hier vielleich mal lesen und sich für Softwareprogrammierung 
interessieren, ist dies sicher auch keine Motivation, sich näher mit dem 
Thema zu beschäftigen.
Und wie wir alle wissen, werden *gute* Prigrammierer in der Wirtschaft 
händeringend gesucht. Ich für meinen Teil bin weder ein *guter* 
Programmierer noch für die Wirtschaft (als Softwareentwickler) tätig. 
Ich mach das nur für *mich* um eine Aufgabe zu lösen, die ich mir selbst 
gestellt habe.

Jan

Back to de.comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

not a function Jan Novak <repcom@gmail.com> - 2018-04-25 13:41 +0200
  Re: not a function Sascha Hüdepohl <news@juenger-der-himmlischen-teekanne.de> - 2018-04-25 17:49 +0200
    Re: not a function Jan Novak <repcom@gmail.com> - 2018-04-26 07:39 +0200
  Re: not a function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-04-25 21:04 +0200
    Re: not a function Jan Novak <repcom@gmail.com> - 2018-04-26 07:55 +0200
      Re: not a function "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2018-04-28 19:50 +0200
      Re: not a function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-04-29 01:14 +0200
    Re: not a function Jan Novak <repcom@gmail.com> - 2018-04-26 08:07 +0200
      Re: not a function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-04-29 01:30 +0200
        Re: not a function Jan Novak <repcom@gmail.com> - 2018-05-02 15:06 +0200
          Re: not a function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-05-05 01:00 +0100

csiph-web