Dr. Andrew Besmer
Events
$("#albums").on("click", ".album",function(){
//Do something with this album
});
.on()emit()ed from objectsEventEmittervar EventEmitter = require('events').EventEmitter;
var attendant = new EventEmitter();
attendant.on('door bell', function(){
console.log("Answer the door");
});
//at some random point
attendant.emit('door bell');
var EventEmitter = require('events').EventEmitter;
var attendant = new EventEmitter();
attendant.on('door bell', function(eventTime, eventRandNum){
console.log("Answered the door for ", eventTime, " and random number", eventRandNum);
});
//at some random point
attendant.emit('door bell', Date.now(), Math.random());
http emits request eventsrequest object will emit data as the request comes inrequest eventvar http = require('http');
var server = http.createServer();
server.on('request', function(request, response){
console.log("http request event fired!");
response.end("http request event fired!");
});
server.listen(8000);
var http = require('http');
http.createServer(function(request, response){
console.log("http request event fired!");
response.end("http request event fired!");
}).listen(8000);
A stream is an abstract interface implemented by various objects in Node. For example a request to an HTTP server is a stream, as is stdout. Streams are readable, writable, or both. All streams are instances of EventEmitter.
.write() will return whether or not there is more space in the buffer
.pause() the stream you are reading from and waiting for the write stream to drain()var http = require('http');
http.createServer(function(request, response){
request.on('data', function(data){
if(response.write(data) == false)
request.pause();
});
response.on('drain', function(){
request.resume();
})
request.on('end', function(){
response.writeHead(200);
response.end();
});
}).listen(8000);
var http = require('http');
http.createServer(function(request, response){
request.pipe(response);
request.on('end',function(){
response.end();
});
}).listen(8000);
var fs = require('fs');
var http = require('http');
http.createServer(function(request, response) {
var outFile = fs.createWriteStream("outFile");
var uploadSize = request.headers['content-length'];
var uploadedBytes = 0;
request.pipe(outFile);
request.on('data', function(data) {
uploadedBytes += data.length;
response.write(((uploadedBytes / uploadSize) * 100) + "%\n");
});
request.on('end', function() {
response.end("Complete\n");
});
}).listen(8000);
let numLines = 0;
let lineReader = require("readline").createInterface({
input: require('fs').createReadStream("amazon_reviews_us_Mobile_Apps_v1_00.tsv")
});
lineReader.on('line', function(line){
numLines++;
});
lineReader.on('close', function(){
console.log("We read the file and there are ", numLines, " in the file.");
});