Ich arbeite mit Node, Express und Objection.js. Meine Dateistruktur ist:Rückgabe Versprechen Wert von Controller
->Project Folder
->Controllers(folder)
->agenciaController.js
->Models(folder)
->Agencia.js
->index.js
in meinem index.js-Code ist:
var Knex = require('knex');
var express = require("express");
var app = express();
var knexConfig = require('./knexfile');
var Model = require('objection').Model;
var knex = Knex(knexConfig.development);
Model.knex(knex);
var reqAgenciaController = require('./Controllers/agenciaController');
var agenciaController = new reqAgenciaController();
app.get("/agencias", function(req, res) {
var respuesta = agenciaController.getAgencias();
console.log("log3: "+respuesta);
});
Und mein agenciaController.js ist:
var Agencia = require('../Models/Agencia');
module.exports = agenciaController;
function agenciaController() {
this.getAgencias = function() {
var retValue = "retvalue";
listaAgencias = [];
Agencia.query()
.then(function(agencias) {
listaAgencias = agencias;
console.log("log1: "+ listaAgencias);
});
console.log("log2: "+listaAgencias);
return listaAgencias;
}
}
Mein Problem ist, dass, wenn ich laufen die Code, ich bekomme
log2:
log3: undefined
log1: [object Object, object Object].
Aber ich brauche:
log1: [object Object, object Object].
log2: [object Object, object Object].
log3: [object Object, object Object].
Meine Frage ist: ist es möglich, listaApuestas vom Controller zum index.js zurückzukehren, mit dem Wert in dem Versprechen erhalten?
Sie uderstand nicht, wie Versprechungen arbeiten, untersuchen [ Dieser Artikel] (https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html?utm_source=javascriptweekly&utm_medium=email). – alexmac