我是一個很長時間的PHP(CodeIgniter & WordPress)開發人員,最近纔想學習其他幾種語言。我開始學習Ruby(Rails和Sinatra),Python(w/Flask框架)和Javascript以及node.js。瞭解Javascript和node.js中的回調
我決定創建一個我能想到的最基本的應用程序,一個使用這些語言的URL擴展器。我已經設法創建了一個除node.js和Javascript之外的每種語言的工作版本。
我知道我的問題,我知道它與回調有關。我知道我做得不對。我得到了回調的基本概念,但我無法弄清楚如何解決我創建的這個混亂。
這是我whole code:
var http = require('http');
var url = require('url');
function expand() {
var short = url.parse('http://t.co/wbDrgquZ');
var options = {
host: short.hostname,
port: 80,
path: short.pathname
};
function longURL(response) {
console.log(response.headers.location);
}
http.get(options, longURL);
}
function start() {
function onRequest(request, response) {
console.log("Request received.");
response.writeHead(200, {
"Content-Type": "text/plain"
});
response.write("Hello World");
expand();
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
start();
服務器開始,當一個請求時,它調用擴展功能,它返回擴展URL的終端。我試圖讓它在瀏覽器中打印。
任何幫助表示讚賞。提前致謝。
如果不輸入url參數,則此代碼失敗。在繼續調用'expand(urlToExpand,writeResponse);'之前,您需要檢查是否定義了'parsedUrl.query.url'; – Wavesailor 2013-08-27 11:51:37