Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions KenYA/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
async.await/node_modules/
7 changes: 7 additions & 0 deletions KenYA/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#KenYA
#Node.js Practice List

##Practice 01
Say Hello to Terminal.

##Practice 02
21 changes: 21 additions & 0 deletions KenYA/async.await/async_await.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
var async = require('asyncawait/async');
var await = require('asyncawait/await');

//async , 建立一個需要花費三秒的工作
const sayHi = async( function(){
return new Promise(function(resolve, reject){
setTimeout(function(){
//經由 resolve 回傳字串
resolve("Hello, How are you today.");
},3000);
});
});

const test = async( function(){
//await 會等 sayHi 執行完成,才執行console.log
let message = await( sayHi() );
console.log(message);
});

//console.log 為預期的結果
test();
15 changes: 15 additions & 0 deletions KenYA/async.await/no_async_await.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const sayHi = function(){
//假設工作需要花費三秒,完成後會回傳字串
setTimeout(function(){
return "Hello, How are you today..";
},3000);
}

const test = function(){
//呼叫 sayHi 回傳值給 message 並且輸出
let message = sayHi();
console.log(message);
}

//但會發現 console.log結果是 "undefined"
test();
7 changes: 7 additions & 0 deletions KenYA/async.await/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "async_await",
"version": "1.0.0",
"dependencies": {
"asyncawait": "^1.0.6"
}
}
2 changes: 2 additions & 0 deletions KenYA/p01.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// Terminal stdout hello.
console.log("Hello kitty.");
16 changes: 16 additions & 0 deletions KenYA/p02_http_Server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
var http = require('http');
//var url = require('url');

var server = http.createServer(function(request , response){
if(request.url === "/"){
response.writeHead(200,{"Content-Type":"text\plain"});
response.end("Hello, I'm home page");
}
else{
response.writeHead(404,{"Content-Type":"text\plain"});
response.end("404 error, Page not found.");
}
});

server.listen(8080,'localhost');
console.log('Server running at http://localhost:8080');
17 changes: 17 additions & 0 deletions KenYA/p03_http_server2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
var http = require('http');

function onRequest(request, response){
if(request.url === '/'){
response.writeHead(200, {"Content-Type":"text/plain"});
response.end("Welcome to the Hell. ^_^)y");
}
else{
response.writeHead(404, {"Content-Type":"text/plain"});
response.end("Orz\n404 error!");
}
}

var server = http.createServer(onRequest);

server.listen(5566,"localhost");
console.log("Server running at http://localhost:5566");
3 changes: 3 additions & 0 deletions KenYA/p04_module/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
var server = require("./server.js");

server.start();
14 changes: 14 additions & 0 deletions KenYA/p04_module/server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
var http = require('http');

function start(){
function onRequest(request, response){
console.log("In comes a method: " + request.method + " to path:" + request.url);
response.writeHead(200,{"Content-Type":"text/plain"});
response.end("Hello Kitty.");
}

http.createServer(onRequest).listen(5566);
console.log("Server running at http://localhost:5566")
}

exports.start = start;
3 changes: 3 additions & 0 deletions KenYA/p05_url/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
var server = require("./server.js");

server.start();
16 changes: 16 additions & 0 deletions KenYA/p05_url/server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
var http = require('http');
var url = require('url');

function start(){
function onRequest(request, response){
var pathname = url.parse(request.url).pathname;
console.log("Request for " + pathname + " received.");
response.writeHead(200,{"Content-Type":"text/plain"});
response.end("Hello Piggy (^OO^)");
}

http.createServer(onRequest).listen(5566);
console.log("Server running at http://localhost:5566");
}

exports.start = start();
4 changes: 4 additions & 0 deletions KenYA/p06_route/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
var server = require("./server.js");
var router = require("./route.js");

server.start(router.route);
5 changes: 5 additions & 0 deletions KenYA/p06_route/route.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
function route(pathname){
console.log("About to route a request for " + pathname);
}

exports.route = route;
19 changes: 19 additions & 0 deletions KenYA/p06_route/server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
var http = require('http');
var url = require('url');

function start(route){
function onRequest(request, response){
var pathname = url.parse(request.url).pathname;
console.log("Request for " + pathname + " received.");

route(pathname);

response.writeHead(200,{"Content-Type":"text/plain"});
response.end("Hello Piggy (^OO^)");
}

http.createServer(onRequest).listen(5566);
console.log("Server running at http://localhost:5566");
}

exports.start = start;