Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 26th, 2012  |  syntax: JavaScript  |  size: 1.92 KB  |  hits: 19  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. //
  2. // AK:
  3. /  Der Parameter: "callback" beinhaltet die Funktion, die ausgeführt werden soll,
  4. // wenn die Liste geladen wurde.
  5. //
  6. function ShowList (callback) {
  7.     var q;
  8.     var r;
  9.  
  10.     //
  11.     // AK:
  12.     // Die Deklarierung eines Arrays über "[]" ist ein Best Practice und sollte
  13.     // der Instantiierung über "new" vorgezogen werden.
  14.     //
  15.     var list = [];
  16.  
  17.     ItemModel.find({ } , function (err, items) {
  18.  
  19.         items.forEach( function(item) {
  20.             q = item.quote;
  21.             r = item.rating;
  22.             list.push(q + " " + r);
  23.         });
  24.  
  25.         //
  26.         // AK:
  27.         // Die Liste wurde geladen. Ausführen der Callback-Funktion und
  28.         // Übergabe der Liste an diese Funktion (siehe app.js - hier: Zeile 75).
  29.         callback(list);
  30.    
  31.         //
  32.         // AK:
  33.         // Diese Zuweisung wird nicht benötigt.
  34.         //
  35.         // List = List;
  36.    
  37.         //
  38.         // AK:
  39.         // Hier kein "return". Stattdessen die übergebene Callback-Funktion ausführen
  40.         // und die Liste übergeben.
  41.         //
  42.         // return List;
  43.  
  44.     });
  45.    
  46.     //
  47.     // AK:
  48.     // Wird nicht benötigt.
  49.     //
  50.     // console.log(List);
  51.     // return function(callback) {return List;};
  52. }
  53.  
  54. --------------
  55.  
  56. // app.js
  57.  
  58. app.post('/new_pow', function(req, res){
  59.        //console.log("Neuer POW:", req.body.pow);
  60.        var reqitem = req.body.pow;
  61.        writePowToDatabase(reqitem);
  62.        console.log("write item to DB");
  63.  
  64.        word = reqitem;
  65.  
  66.        // TODO: read the List of pow as array[]  word1, word2, ...
  67.        var tlist = new Array();
  68.        var cal;
  69.  
  70.        //
  71.        // AK:
  72.        // Erzeugen des ShowList-Objektes und Übergabe der Callback-Funktion
  73.        // die ausgeführt wird sobald die Daten aus der Datenbank geladen wurden (siehe Zeile: 29)
  74.        //
  75.        new ShowList(function (list) {
  76.            console.log(list);
  77.        });
  78. });