Как получить имя конструктора в Node.js из суперкласса

У меня есть "супер" модуль в моем приложении Node.js с конструктором и некоторыми функциями-прототипами.

var parser = function(options, util, cache, url) {

    this.options        = options;
    this.util           = util;
    this.cache          = cache;
    this.url            = url;
}

parser.prototype.start = function() {
    console.log("I am a default start function");
    console.log(this.constructor.name);
}

module.exports = parser;

У меня есть несколько других модулей, которые наследуются от этого модуля. Теперь, когда я призываю start Функция, которую я хотел бы получить имя конструктора этого модуля. По какой-то причине это не работает для меня.

var parser = require('../parser');
var util   = require('util');

var DKAN = function(options, util, cache, url) {

    parser.apply(this,arguments);

}

util.inherits(DKAN, parser);

DKAN.prototype.check = function($) {
    var DKANParser = this;
    if ($('meta[content*="Drupal"]').length !== 0 ) {
        DKANParser.start();
        return true;
    } else return false;
}

module.exports = DKAN;

При обращении к DKANParser.start() я только первый console.log с "Я запускаю функцию по умолчанию" и не может получить имя конструктора, который должен быть DKAN

0 ответов

Другие вопросы по тегам