Ergebnis 1 bis 3 von 3
  1. #1
    Chromer ist offline Grünschnabel
    registriert
    25-11-2016
    Beiträge
    2

    Promises zum ersten mal einsetzen/Fehler

    Hallo Leute, ich würde gerne zum ersten mal Promise einsetzen und kriege das nicht so recht hin.
    Situation: Aus meiner Router kommt bsp. eine Anfrage: getBooks.
    Die ganze Abfrage mit callback, möchte ich in einem promise verstecken.
    D.h. bei myPromise.then(....sende eine Antwort).catch(....sende status 500)
    So stelle ich mir das vor. Vllt. gibt es schönere Wege.

    mein Code
    Code:
    function getBooks(req, res) {
    
        /*Promise ansprechen*/
        promiseBooks(req, res);
    
    }
    
    function promiseBooks(req, res){
    
        /*Promise starten*/
        return Bookmark.find({}).exec();
    
    }
    
    /*Promise ausführen*/
    promiseBooks(req, res).then(function(books){
        if(books.length===0){
            logger.warn('No books availible');
            res.status(200).json({
                bookmarks: books
    
            });
        }else if(books === undefined){
            res.status(500).json({
                
                bookmarks: bookmarks
            });
        }else{
            res.status(200).json({
                
                bookmarks: books
            });
        }
    
    })
        .catch(function(err){
            logger.error({error:err},'FAIL TO RETRIVE BOOKS');
            
            res.status(500).json({
                
                books: books
            });
        });
    Irgendwie bekomme ich "undefined" für req, res.
    Habe ich hier ein Design-Fehler? wie könnte ich am besten die Callsbacks verstecken in diesem Fall?

    Danke für jeden Tipp.

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

    AW: Promises zum ersten mal einsetzen/Fehler

    Zitat Zitat von Chromer Beitrag anzeigen
    Irgendwie bekomme ich "undefined" für req, res.
    So wie der Code da steht stimmt das auch. die Variablen werden schließlich nirgends definiert.

    Zitat Zitat von Chromer Beitrag anzeigen
    wie könnte ich am besten die Callsbacks verstecken in diesem Fall?
    bei Promises geht es nicht darum Callbacks zu verstecken, sondern um ein effizienteres Arbeiten damit.

    Und dann ist deine promiseBooks() Funktion auch ziemlich nutzlos, so wie sie da steht.

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

    AW: Promises zum ersten mal einsetzen/Fehler

    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

Ähnliche Themen

  1. [HOW-TO/TUTORIAL] How do Promises Work? (15.11.2015)
    Von mikdoe im Forum Links & Tutorials mit Tipps & Tricks zu JavaScript, CSS, PHP, MySQL
    Antworten: 0
    Letzter Beitrag: 06-12-2015, 07:45
  2. Promises
    Von Früchtemüsli im Forum JavaScript
    Antworten: 33
    Letzter Beitrag: 08-02-2013, 14:06
  3. Variable einsetzen
    Von donstephano im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 09-01-2007, 15:51
  4. Javascript in HP mit frames einsetzen
    Von anni2006 im Forum Allgemeines
    Antworten: 1
    Letzter Beitrag: 28-12-2006, 17:48
  5. selectbox.value in textfeld einsetzen
    Von Hawk18x im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 17-01-2006, 09:36

Stichworte

Lesezeichen

Berechtigungen

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