javascript - What is the common way to instantiate objects in Node.js? -
the following node snippiest node.js tests , know why 1 way instantiate object preferred on other?
// 1 var events = require('events'); var emitter = new events.eventemitter(); emitter.on('test', dosomething); // 2 var net = require('net'); var server = net.createserver(); server.on('connection', dosomething); // 3 var net = require('http'); var server = http.server(function(req, res) { req.on('end', function() { ... }); }); and i'm working on node.js module , trying find common way these kind of apis.
#1 , #3 same, http.server can used factory because of first line in it:
if (!(this instanceof server)) return new server(requestlistener); #2 useful in top-level api functions makes chaining simpler:
require('http').createserver(handler).listen(8080); instead of
(new require('http').server(handler)).listen(8080); it's common core api modules expose both constructor , factory helper, server , createserver, , allow constructor used without new.
Comments
Post a Comment