SORU
21 NİSAN 2012, CUMARTESİ


Nasıl Meteor'in tepkime perde arkasında çalışır?

docs okuma source behind reactivity baktım ama anlamıyorum.

Biri bana bu sihirli:) benziyor gibi perde arkasında çalışır, nasıl açıklayabilir.

CEVAP
24 NİSAN 2012, Salı


Aslında yalındır işte bu yüzden, temel düzeyde fonksiyonları dahil 2 tipi vardır:

  1. Fonksiyonları reaktif içerik (reaktif fonksiyonu) oluşturmak

  2. Fonksiyonları reaktif içerik (geçersiz işlev) geçersiz

  3. İşlevleri de yapabilecek. (3 vardır yalan söyledim)

reactive function Bir arama yaparken hangi reactive function invalidation bir geri çağrı abone küresel ve depolar meteor context oluşturur. Reaktif bir işlevi geçmesi işlevi, yoksa içinde çalışan herhangi bir fonksiyon, invalidating function ve context geçerli yakalayabilir ve yerel olarak saklayın. Bu işlevler daha sonra herhangi bir zamanda db bir güncelleme ya da sadece zamanlayıcı bir çağrı gibi,, context geçersiz kılabilir. reactive function orijinal sonra o olay ve durum değerlendirmesi kendisi alacak.

İşte adım meteor işlevlerini kullanarak bir adım (Tracker.autorun Deps.autorun denirdi unutmayın):

Tracker.autorun(function(){ 
  alert("Hello "   Session.get("name"));
});

Session.set("name", "Greg");
  1. otomatik çalıştırma parametre olarak bir fonksiyon alıyor
  2. otomatik çalıştırma bu işlevi çalıştırmadan önce, context oluşturur
  3. otomatik çalıştırma context'olay s hükümsüzlük . bir geri takılır
  4. Bu geri arama tekrar gösterim işlevi geçirilen başlangıç olacaktır
  5. İşlev sonra ilk kez context çalıştırın.
  6. Meteor mağazalar bu 15* *genel olarak şu anda aktif olarak context
  7. Fonksiyon içinde başka bir fonksiyon: Oturum.()
  8. Oturum.() reactive function a ve invalidating function.
  9. Oturum.context ve ortakları kendi ayarlar dahili anahtara sahip çık"" . name
  10. Oturum.alır, geçerli bağlam (otomatik içerik) küresel meteor
  11. İnternet sayfasında Oturum geri.kendi bağlam kayıtları, sadece içerik (bu durumda, otomatik çalıştırma bağlam) kapsayan bu geçersiz hale gelecektir
  12. Şimdi 2 bağlamlarda, otomatik Çalıştır ve oturumu var.olsun
  13. bu işlevler dönmek, meteor aktif içerik genel değişkeni temizler

  14. Oturum.ayarlanmış bir fonksiyon context geçersiz yeteneğine sahip.

  15. contexts Oturum anahtarı ile ilişkili tarafından oluşturulan geçersiz ediyoruz bu durumda"" . name
  16. Bu 22 ** ne zaman, hükümsüzlük onların geri çalıştırın geçersiz.
  17. O contexts kapsayan (Oturum tasarımı.geçersiz onların sadece geri ve örneğin bir geri arama ne yapması gerektiği değil)
  18. O contexts çevreleyen artık hükümsüzlük onların geri çalıştırın.
  19. Otomatik çalıştırma durumunda, bu geri arama, ilk başlangıç ve daha sonra context ayarlar tekrar geçmiş işlevini çalıştırır.

Tüm uygulama, aslında oldukça yalındır de buradan görebilirsiniz:
https://github.com/meteor/meteor/blob/master/packages/tracker/tracker.js

Ve nasıl çalıştığına dair iyi bir örnek burada bulabilirsiniz:
https://github.com/meteor/meteor/blob/master/packages/reactive-dict/reactive-dict.js

Reaktif programlama aslında meteor veya JS özgü değildir
bu konuda buradan okuyabilirsiniz: http://en.wikipedia.org/wiki/Reactive_programming

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • Metheud

    Metheud

    9 EYLÜL 2006
  • Numberphile

    Numberphile

    15 EYLÜL 2011