Senkron ve asenkron programlama arasındaki fark node.js içinde ne olduğunu
nodebegginerokuyordum Ve şu iki kod parçaları rastladım.
Birincisi:
var result = database.query("SELECT * FROM hugetable");
console.log("Hello World");
İkincisi.
database.query("SELECT * FROM hugetable", function(rows) {
var result = rows;
});
console.log("Hello World");
Yapmam gereken şeyleri anladım, veritabanı sorgu için cevap almak için sorgu. Ve sonra da konsol.('Merhaba') Dünya. günlük
Birincisi, sözde senkron kodudur. Ve ikinci bir zaman uyumsuz kod.
İki adet arasındaki fark benim için çok belirsiz. Çıkış ne olurdu?
Zaman uyumsuz programlama hakkında Googling bana da yardım etmedi.
CEVAP
Fark ilk örnekte, programın ilk satırı engeller. Bir sonraki satır (**5) beklemek zorunda kalacak.
İkinci örnekte console.log
sorgu işlenirken yürütülür. Diğer bir deyişle, sorgu programınızı başka şeyler yaparken arka planda işlenecektir, ve sorgu veri hazır olduğunda, onunla ne istersen onu yapacaksın.
Yani, özetle:
İlk örnek ikinci alışkanlık olsa engelleyecektir.
Aşağıdaki iki örnek çıktısı:
//example 1
var result = database.query("SELECT * FROM hugetable");
console.log("query finished");
console.log("Next line");
//example 2
database.query("SELECT * FROM hugetable", function(rows) {
console.log("query finished");
});
console.log("Next line");
Olabilir:
query finished
Next line
Next line
query finished
Ondalık arasındaki fark, ve içinde Yüz...
Vim içinde eşleştirmek, noremap, nnore...
Önce ya da döngü içinde değişken kavra...
Eşzamanlı programlama ve paralel progr...
Bildirime dayanan ve onun programlama ...