2
4

1 に答える 1

6

すぐに console.log を実行できるようにしたいのですが、node.js は同期的ではないため、非常に強力で高速です。node.js を使用したコーディングの非同期パターンに慣れる必要があります。get リクエストは非同期です。コールバックが発生するまでツイートは割り当てられません。

Console.log は、非同期要求が行われた直後に実行されます。

試してください:(編集-これを提案した後、このコードを含めるように質問を編集しました)

twit.get('http://api.twitter.com/1/statuses/user_timeline.json', function(data) {
    tweet = data[0].text;
    console.log(tweet);    // executed after call returns
});

// executes immediately after request is sent
console.log("request sent");

twit.get 呼び出しの 2 番目の引数は、非同期リクエストの完了後に実行される無名関数であることに注意してください。

これの出力は「リクエストが送信されました」であり、ツイートはその順序で結果を返します。

于 2012-07-04T13:42:43.477 に答える