この質問は重複する可能性があります。私は node.js と非同期プログラミング回文の初心者です。私はグーグルで検索し、これに関する多くの例を見てきましたが、まだ少し混乱しています.
OK、Google検索から私が理解しているのは、すべてのコールバックが非同期で処理されるということです。たとえば、node.js api からreadfile関数を取得してみましょう
fs.readFile(filename, [options], callback) // ここでのコールバックは非同期で処理されます fs.readFileSync(filename, [options])
var fs = require('fs');
fs.readFile('async-try.js' ,'utf8' ,function(err,data){
console.log(data); })
console.log("hii");
上記のコードは、最初に hii を出力し、次にファイルの内容を出力します。
だから、私の質問は次のとおりです。
- すべてのコールバックは非同期で処理されますか?
以下のコードは非同期ではありません。なぜ、どのように作成すればよいですか?
function compute(callback){ for(var i =0; i < 1000 ; i++){} callback(i); } function print(num){ console.log("value of i is:" + num); } compute(print); console.log("hii");