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

  • erikbjgn's channel

    erikbjgn's c

    12 Mayıs 2008
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008