【发布时间】:2016-06-09 18:50:52
【问题描述】:
在我的 Node.js 脚本中,我需要从回调中访问对象的属性(这里是“模型”对象的属性“错误”)。我看到编辑这个属性是不可能的,但是我需要它来抛出一个错误并停止脚本(如果'error'属性有一个值,'construct'函数返回false,错误被抛出在另一部分脚本)。
var underscore = require('underscore');
var mysql = require('mysql');
var baseConfig = require('../config/base');
var autoload = require('../autoload');
var core = autoload.load(baseConfig.dirs.core);
module.exports = {
name: 'model',
database: null,
error: null,
construct: function(host, user, password, database, res) {
var connection = mysql.createConnection({
host: host,
user: user,
password: password,
database: database
});
connection.connect(function(error) {
if(error) this.error = error;
});
this.database = connection;
if(this.error) return false;
},
extend: function(child) {
return underscore.extend(this, child);
}
}
我真的很想知道如何编辑这个属性,因为我还没有找到解决方案。非常感谢。
【问题讨论】:
-
我猜this 是你的实际问题。你不能那样做。
connect是异步的,还没完成就知道是不是有问题。
标签: javascript node.js oop model-view-controller callback