SORU
22 Mayıs 2014, PERŞEMBE


Açık söz inşaat antipattern nedir ve nasıl atlatabilirim?

Görünüşe göre bu işi yapan kod yazıyordum:

function getStuffDone(param) {           | function getStuffDone(param) {
    var d = Q.defer(); /* or $q.defer */ |     return new Promise(function(resolve, reject) {
    // or = new $.Deferred() etc.        |     // using a promise constructor
    myPromiseFn(param 1)                 |         myPromiseFn(param 1)
    .then(function(val) { /* or .done */ |         .then(function(val) {
        d.resolve(val);                  |             resolve(val);
    }).catch(function(err) { /* .fail */ |         }).catch(function(err) {
        d.reject(err);                   |             reject(err);
    });                                  |         });
    return d.promise; /* or promise() */ |     });
}                                        | }

Birileri bu denir " söylediertelenmiş antipattern"veya"Promise antipattern yapıcı", bu kod hakkında kötü olan ne sırasıyla ve bu yüzden antipattern denir?

CEVAP
22 Mayıs 2014, PERŞEMBE


deferred antipattern (now explicit-construction anti-pattern) Esailija tarafından icat anti-kalıp sözler yeni insanlar, kendim yaptım ilk sözler kullanıldığında bir ortak. Yukarıdaki kod ile sorun aslında söz zinciri yararlanmak için başarısız olmasıdır.

Sözler .then zincir ve sözler doğrudan iade edebilirsiniz. getStuffDone kodunuzu şu şekilde yazılabilir:

function getStuffDone(param){
    return myPromiseFn(param 1); // much nicer, right?
}

Sözler hakkında asenkron kod daha okunabilir ve senkron kod gibi davranan aslında saklamadan yapıyor. Sözler bir kez işlem değeri, bir soyutlama temsil eder, bir programlama dilinde bir deyim veya ifade kavramı soyut.

Sadece converting an API to promises ve bunu otomatik olarak yapamaz veya toplama fonksiyonları yazarken bu şekilde daha kolay ifade edilmesini ertelenmiş nesneleri kullanmalısınız.

Esailija Alıntı:

Bu en yaygın anti-pattern. Kolay sözler gerçekten anlamıyorsun bu ne zaman girer ve olay yayıcılar veya geri arama programı övmek gibi düşün onları. Hadi özetleyelim: sözler zaman uyumsuz kod düz girinti ve bir özel kanal gibi zaman uyumlu kod, kayıp özellikleri çoğunluğunu yapma konusunda.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Random Act of Kindness Video Contest

    Random Act o

    18 EYLÜL 2012
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006