2016-05-12 7 views
0

Derzeit funktioniert es, wenn ich console.log (Ergebnis) in meinem „exports.findOneProblem“ verwenden, während „Knoten jkl.js“ ausgeführt wird. Ich kann das Ergebnis sehen. Allerdings, wenn ich Rückkehr statt console.log() verwenden, alles, was ich bekommen, ist ein Versprechen {anhängige} in der Konsole. Bitte füllen Sie die Lücken .... lernen, wie man mit dem Versprechen arbeiten, danke.Ausgabe mit async, JS Versprechen nicht in der Lage ein Ergebnis zurück, sondern arbeitet mit console.log

//asd.js 

    exports.findOneProblem = function(problemId) { 
      return RClient.authenticate(options).then(function (client) { 
      const Problem = client.Problem; 

      return Problem.findOne(problemId) 
      }).then(function(result){ 
       return result 
      }); 
     }; 

die zweite Datei: jkl.js

var okay = require('./asd'); 

var moneymoney = okay.findOneProblem(263) 

console.log(moneymoney) 


var honeyhoney = moneymoney.then(function(result){ 
    return result 
}) 
console.log(honeyhoney) 

Antwort

1

Wenn Sie ein Versprechen erhalten, das heißt, Sie gehen einen Wert zu erhalten, „später“, das heißt, nachdem alle Ihre Synchroncodes erfolgt läuft . Der Weg, um einen Wert von einem Versprechen bereitgestellt zuzugreifen unter Verwendung der .then Funktion.

moneymoney.then(function(result) { 
    console.log(result); 
    // Add your code for using the result of `okay.findOneProblem(263)` here 
}); 
+1

oh my! Danke. –

Verwandte Themen