SORU
2 Mayıs 2013, PERŞEMBE


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
2 Mayıs 2013, PERŞEMBE


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:

  1. query finished
    Next line
  2. Next line
    query finished

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • funbro1

    funbro1

    11 Aralık 2007
  • inovationgmbh

    inovationgmb

    28 EYLÜL 2010
  • tutvid

    tutvid

    19 AĞUSTOS 2006