2013-03-19 13 views
10

İki modüllerim var: apirequest.js ve feed.js.apirequest numaralı telefondan feed.start()'u aradığımda, TypeError: Object #<Feed> has no method 'start' olsun. Bu neden? util.inherits(Feed, APIRequest);, APIRequest'in özelliklerini devretmiyor mu?javascript inheritance ve node.js anlama anlayışı devralma fonksiyon örneği

apirequest.js

var EventEmitter = require('events').EventEmitter; 
var util = require('util'); 

function APIRequest(endpoint) { } 

APIRequest.prototype.start = function() { } 

util.inherits(APIRequest, EventEmitter); 

module.exports = APIRequest; 

feed.js

var util = require('util'); 
var APIRequest = require('../lib/api_request'); 

function Feed(endpoint) { 
    APIRequest.call(this, endpoint); 
} 

util.inherits(Feed, APIRequest); 

var feed = new Feed(endpoint); 

feed.start(); 

cevap

13

sorun sırası:

APIRequest.prototype.start = function() { } 
util.inherits(APIRequest, EventEmitter); <-- *overwrites* APIRequest.prototype 

Eğer bu satırları takas, bu olacak iş:

util.inherits(APIRequest, EventEmitter); 
APIRequest.prototype.start = function() { } 
+0

Teşekkürler! Evet, sadece yaptım ve cevabın geldi;) –

+0

Teşekkürler, harika cevap! –