をNode.jsのは、私は最近、いくつかの他の言語を学びたいと思っ長い時間PHP(CodeIgniterの&ワードプレス)開発者です。 Ruby(Rails、Sinatra)、Python(Flaskフレームワーク)、Javascript(node.js)を学びました。理解JavaScriptでコールバックと
私は、これらの言語のそれぞれを使用して、私は考えることができる最も基本的なアプリケーション、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