Javascript on ***
(Server, Arduino, Rapsberry PI, etc.)
Not only web browser !!!
printLine("Please input your name: ");
var name = getLine();
var result = db.save(name);
if (result === 'ok')
printLine("saved!");
reference note: pseudo code.
printLine("Please input your name: ");
// non blocked this line, go next.
var name = getLine();
// name is *undefined*.
var result = db.save(name);
// result is always not 'ok' !!!
if (result === 'ok')
printLine("saved!");
printLine("Please input your name: ", function(){
getLine(function(err, name) {
db.save(name, function(err, r) {
if (r === 'ok')
printLine("saved!");
});
});
});
printLine("Please input your name: ", function(){
getLine(function(err, name) {
db.save(name, function(err, r) {
if (r === 'ok')
printLine("saved!");
// add new code
db.getAll(function(err, names) {
names.forEach(function(name) {
printLine(name);
});
});
});
});
});
printLine("Please input your name: ", function(){
getLine(function(err, name) {
db.save(name, function(err, r) {
if (r === 'ok')
printLine("saved!");
db.getAll(function(err, names) {
// if num of names is huge.
// stop all tasks !!!
names.forEach(function(name) {
printLine(name);
});
});
});
});
});
printLine("Please input your name: ", function(){
getLine(function(err, name) {
db.save(name, function(err, r) {
if (r === 'ok')
printLine("saved!");
db.getAll(function(err, names) {
names.forEach(function(name) {
// Dont stop all task.
process.nextTick(function(){
printLine(name);
});
});
});
});
});
});
printLine("Please input your name: ", function(){
getLine(function(err, name) {
db.save(name, function(err, r) {
if (r === 'ok')
printLine("saved!");
db.getAll(function(err, names) {
names.forEach(function(name) {
process.nextTick(function(){
printLine(name);
});
});
});
});
});
});
var event = new EventEmitter();
event.on('hoge', function(arg) {
printLine(arg);
});
event.emit('hoge', 'fuga');
// print fuga
printLine("Please input your name: ", function(){
getLine(function(err, name) {
db.emit('save', name);
});
});
db.on('save end', function(err, r) {
if (r === 'ok')
printLine("saved!");
db.emit('getAll');
});
db.on('getAll end', function(err, names){
names.forEach(function(name) {
process.nextTick(function(){
printLine(name);
});
});
});
If you have an interest, you would read these to be better.
easy to write!!
var http = require('http');
http.createServer(function(req, res){
res.end("<h1>hello jscafe.</h1>");
}).listen(3000);
node.js chat!!
var net = require('net');
var clients = [];
var server = net.createserver(function(sock){
sock.on('end', function(){
sock.emit('data', "goodbye!! \n");
clients.splice(clients.indexof(sock), 1);
});
sock.resume();
clients.foreach(function(i){
sock.pipe(i, {end:false}).pipe(sock, {end:false});
});
clients.push(sock);
});
server.listen(1337);
please access
$ nc <IP address> 1337
Node is fun??
"I'm Fan!!"
Google "socket.io chat/paint/presentation"
var io = require('socket.io').listen(3000);
io.sockets.on('connection', function(socket) {
socket.on('message', function(message) {
// broadcast
io.sockets.emit('message', message);
});
});
Use a spacebar or arrow keys to navigate