3. NodeJS
● Bukan bahasa, bukan framework.
● Jalan di atas mesin V8 dari Google
● Terdiri dari :
– Runtime environment
– API / pustaka bawaan (beberapa berbeda
dengan API / pustaka bawaan di peramban)
●
4. Mengapa?
● Sementara ini paling populer di statistik GitHub
● Perkakas pengembangan front-end banyak
yang bergantung ke modul NPM
● Bahasa yang sama depan belakang
● Non-blocking IO
● Asyik buat aplikasi berbasis jaringan (http,
websocket)
15. var foo = function(input){
return new Promise(function(resolve, reject){
var result;
try {
// do something that has chance to throws an error
} catch(err) {
return reject(err);
}
resolve(result);
})
}
foo(input)
.then(function(result){
// Handle result
})
.catch(function(err){
// Handle error
});
Promise
20. Async
var data = “hai kamu ~”;
sendSMS(data, function(err, result){
// save sent sms to sent box,
// notify sender
// do some thing...
});
saveToDB(data, function(err, result){
// emit a socket communication
// do some thing other
});
23. fs API
Sync
----------------------------------------------
var fs = require(“fs”);
var ls = fs.readdirSync(“./”);
Async
----------------------------------------------
var fs = require(“fs”);
var ls;
fs.readdir(function(err, result){
if (err) {
// Handle error
}
ls = result;
})