【发布时间】:2016-07-27 06:36:57
【问题描述】:
我正在使用 Node、Express 和 Objection.js。 我的文件结构是:
->Project Folder
->Controllers(folder)
->agenciaController.js
->Models(folder)
->Agencia.js
->index.js
在我的 index.js 代码中是:
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);
});
而我的 agenciaController.js 是:
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;
}
}
我的问题是当我运行代码时,我得到了
log2:
log3: undefined
log1: [object Object, object Object].
但我需要:
log1: [object Object, object Object].
log2: [object Object, object Object].
log3: [object Object, object Object].
我的问题是:是否可以将listaApuestas从控制器返回到index.js,并在promise中获得值?
【问题讨论】:
-
你不了解 promises 是如何工作的,请调查this article。