Beiträge von Christoph1972

    AndreasB Sorry für die späte Antwort, ich hatte nur sehr wenig Zeit!


    wenn du in dem Kontext der main Funktion bis zum Ende bleibst ja. Dann ist das ja so, als wenn du die variable erst in der main deklariert hättest:


    Könnte ich den gesamten Code in der Main Funktion lassen? Das stelle ich mir aber irgend wie wenig elegant und unübersichtlich vor.


    Vielen Dank für die Unterstützung!


    Herzliche Grüße
    Christoph

    Hallo Andreas,

    Das kannst du immer noch so machen.

    Du kannst halt dein Programm erst starten, wenn alle Daten da sind. So wie du das Beispielsweise im Web machst, wenn du darauf wartest, dass der DOM vollständig geladen ist.


    Das verstehe ich jetzt nicht. Dann habe ich doch wieder das problem mit dem Kontext??

    Code
    var _users = [];
    
    function main (users) {
        _users = users; 
    }


    Würde das in dem Fall funktionieren?


    Herzliche Grüße
    Christoph

    AndreasB

    Vielen Dank für die ausführliche Erläuterung, wirklich sehr nett, dafür müsste ich eigentlich ein Bier ausgeben! :)


    Kurze Antwort: Niemals!

    Genau das war die Info die brauchte. Eigentlich hatte ich vor die "_users" bei der Initialisierung zu laden. Jetzt werde ich sie immer laden wenn ich auf sie zugreife, dann kann ich auch sicher sein das die Liste aktuell ist.


    Wir halten fest: async/await hat den Zweck das UI nicht einfrieren zu lassen und den Code leserlicher zu halten. 8)


    Herzliche Grüße
    Christoph

    Hallo Andreas,


    vielen Dank für die beiden Links! Ich werde das heute Abend im Bett lesen. Scheinbar habe ich die Themen noch nicht richtig verstanden. Ich drehe mich immer im Kreis. Auf deinen Hinweis mit dem Promise habe ich die Funktion noch mal überarbeitet, leider erfolglos.


    So sieht jetzt das Modul LoadUsers aus:


    Und so in der aufrufenden Klasse:

    Code
    var _users = [];
    
    userStorage.LoadUsers((users) => {
         console.log(users);//User
         _users = users;
    });
    
    console.log(_users);//Keine User



    Wie bekomme ich die User in den Kontext der aufrufenden Klasse?


    Vielen Dank schon mal!


    Herzliche Grüße

    Christoph

    Hallo Zusammen,


    Ich möchte eine Json File einlesen. Dafür habe ich folgende Klasse erstellt:

    Code
    'use strict'; 
    
    const fs = require('fs').promises; 
    
    module.exports.LoadUsers = async ()=> {     
        var usersRaw = await fs.readFile('c:\\TEMP\\users.json'); 
        var users = JSON.parse(usersRaw); 
        console.log(users);//Ausgabe erfolgt wie erwartet, diese Funktion ist somit ok. 
        return users; 
    }


    In der aufrufenden Klasse verwende ich das so:

    Code
    var users = userStorage.LoadUsers(); 
    
    console.log(users);// Hier ist Users immer leer.


    Ok, users muss invoked werden aber genau da hapert es bei mir. Zu dem Thema habe ich folgendes gefunden: https://stackoverflow.com/ques…get-data-from-fs-readfile


    Leider schaffe ich es nicht die beiden Funktionen auf mein Beispiel anzuwenden:

    Code
    function doSomething (callback) {
        // any async callback invokes callback with response
    }
    
    doSomething (function doSomethingAfter(err, result) {
        // process the async result
    });


    Könnte mir bitte jemand zeigen wie das angewendet werden muss und auch erklären was da passiert? Ich verstehe nicht, wie mit den beiden Funktionen ein Invoke zustande kommt.


    Vielen Dank schon mal! 😊


    Herzliche Grüße

    Christoph

    Hallo Leute,


    mit einem „http web request“ spreche ich eine REST API an, diese liefert auch Daten in die aufrufende Funktion. Nur schaffe ich es nicht diese Daten in der aufrufenden Funktion ebenfalls zurückzugeben, die Rückgabe ist undefined. Ich gehe wie folgt vor:


    .getAll() rufe ich wie folgt auf:


    Kann es sein das ich hier ein Problem mit einer asynchronen Ausführung habe, da „undifend“ als erstes ausgegeben wird? Wie muss ich hier vorgehen?


    Vielen Dank schon mal fürs lesen! 😊


    Herzliche Grüße

    Christoph

    .input-group.datepicker-inline {
    width: auto;
    }


    Sorry, ich hatte deine Antwort eben nicht gesehen! Das funktioniert und nun ist es so wie ich es haben wollte! Meine Idee mit important funktioniert mit Edge und FireFox nicht.


    Dieses Control hat mich jetzt wirklich viele Stunden beschäftigt. Schade das soviele nicht brauchbare Informationen zu diesem Datepicker im Netz vorkommen. Durch verschiedene Bootstrap Versionen und das nicht weiter unterstütze Glyph-Icon findet man sehr sehr viel unbrauchbares und man merkt es erst nicht das man da auf dem falschen Weg ist.


    Vielen Dank für deine nette Unterstützung, das war eine sehr große Hilfe für mich! :thumbup::)


    Herzliche Grüße
    Christoph

    Hallo Sempervivum,


    da wäre ich alleine nie drauf gekommen! Punkt 1 und 2 konnte ich umsetzten und jetzt sieht das schon viel besser aus. Nur mit Punkt 3 komme ich nicht weiter. .import-group kommt von Bootstrap und damit kann ich ja die Zeile nicht einfach löschen. Mit was kann ich den die width: 100% überschreiben? Wenn ich einen fixen Wert angebe 200px z.B. landet das Icon wieder in der nächsten Zeile.


    Vielen Dank schon mal so weit echt super!

    Ich habe das mit einem Bootstrap Button gelöst:


    Code
    <a href="/myroute?loadBy=loadAll" class="btn btn-outline-primary load-btn" role="button" aria-pressed="true">
       Load All     
       <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-arrow-clockwise" fill="currentColor"
        xmlns="http://www.w3.org/2000/svg">
        <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
        <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
       </svg>      
    </a>


    Stef Vielen Dank für die nette Unterstützung! :thumbup:

    Hallo Leute,


    ich versuche aktuell einen Datepicker mit einem Icon zu verwenden. Leider ist das nicht so einfach wie ich gedacht habe! 😊 Immerhin bin ich soweit, dass der Kalender als solches funktioniert, nur das Icon für den Picker wird nicht so angezeigt wie ich das erwarte.


    Ich wollte diese Komponente verwenden: https://bootstrap-datepicker.readthedocs.io/en/latest/


    In meinem Demoprojekt hat das erst auch alles super ausgesehen, aber in meinem Projekt wurde dann das Glyph-Icon nicht angezeigt. Ich habe dann rausgefunden, dass es an meiner verwendeten Bootstrap Version liegt. Bootstarp unterstütz diese Icons nicht mehr: https://getbootstrap.com/docs/4.0/migration/#components


    Jetzt versuche ich ein Icon von font-awesom einzubinden. Ich schaffe es aktuell nicht, das Icon inline in dem Picker zu positionieren. Hier mein Code:

    Code
                <div id="startDatePicker" class="input-group date date-border datepicker-inline">
                    <input type="text" class=" datepicker">
                    <span class="input-group-addon">
                        <div>
                            <i class="fa fa-calendar"></i>                       
                        </div>
                    </span>
                </div>


    Ich habe auch schon diverse Versuche mit css unternommen:

    Code
    .image-inline  {
        position: relative;
        top: 1px;
        display: inline-block;
        background-color: red;
    }


    Leider habe ich bisher mit den Versuchen mein Ziel nicht erreicht.

    Könnte mir jemand unter die Arme greifen, so dass ich das Icon rechts positioniert bekomme?

    Vielen Dank schon mal!


    Herzliche Grüße
    Christoph

    Hallo Stef,


    vielen Dank für die Antwort! Das Problem konnte ich nun lösen. Ich hatte eine falsche Denkweise für den Umgang mit dem Button. Bisher habe ich ausschließlich Applikationen für den Desktop entwickelt und deswegen habe ich mich so auf das Click Event versteift. Dabei war ein Link als Button eine wirklich ganz ganz einfache Lösung, die angeforderte Seite wird nun einfach vom Controller neu gerendert. Ich habe mich stundenlang vergebens damit geplagt. Na ja, ganz vergebens war es nicht, dafür kann ich jetzt auch etwas AJAX/Jquery! :)


    Vielen Dank noch mal!

    Christoph