SORU
2 ŞUBAT 2011, ÇARŞAMBA


Nasıl bir WordPress kullanmak Deferreds bir dizi ile mi çalışıyorsunuz?

Verileri belirli bir sırayla yüklenmesi gerektiren bir uygulama var: kök URL, şemalar, sonra nihayet başlatmak şemalar uygulama çeşitli veri nesneleri ekleyin. Kullanıcı uygulaması gezindikçe, veri nesneleri, şema karşı doğrulanır ve görüntülenen yüklenir. Kullanıcı verileri CRUDs olarak, şemalar ilk-pass doğrulama sağlar.

Başlatma ile ilgili bir sorun yaşıyorum. Bir Ajax çağrısı kök nesne getirmek için kullanıyorum $.() hiçbir zaman söz dizisi, her şema nesnesi için bir tane oluşturun. O çalışır. Konsolda getirme görüyorum.

Ben daha sonra tüm şemalar için fetch bakın, her $.() ajax çağrısı çalışıyor. () fetchschemas gerçekten de vaat ediyor. bir dizi döndürür

Ancak, son zaman() yan tümcesi asla yangınları ve kelime "" görünüyor asla konsolda. Kaynak jquery-1.5 kod ettiğini mi ima ediyor "" geçmek için bir nesne olarak kabul edilebilir.$. null ne zaman.zaman gibi) uygulamak, () bir iç Ertelenmiş kuracak() nesne bir nesne yok geçirilir listesini yönetmek için.

Bu Futures.js kullanmaya çalıştı. Nasıl bir WordPress kullanmak Deferreds bir dizi böyle değilse yönetilen olmalıdır?

    var fetch_schemas, fetch_root;

    fetch_schemas = function(schema_urls) {
        var fetch_one = function(url) {
            return $.ajax({
                url: url,
                data: {},
                contentType: "application/json; charset=utf-8",
                dataType: "json"
            });
        };

        return $.map(schema_urls, fetch_one);
    };

    fetch_root = function() {
        return $.ajax({
            url: BASE_URL,
            data: {},
            contentType: "application/json; charset=utf-8",
            dataType: "json"
        });
    };

    $.when(fetch_root()).then(function(data) {
        var promises = fetch_schemas(data.schema_urls);
        $.when.apply(null, promises).then(function(schemas) {
            console.log("DONE", this, schemas);
        });
    });

CEVAP
2 ŞUBAT 2011, ÇARŞAMBA


Aradığınız

$.when.apply($, promises).then(function(schemas) {
     console.log("DONE", this, schemas);
}, function(e) {
     console.log("My ajax failed");
});

Bu da çalışacak (işin belli bir değeri için, ajax kırık düzeltmeyecek):

$.when.apply($, promises).done(function() { ... }).fail(function() { ... });` 

$.when içinde this 10 ** için başvurduğu $ yerine null geçirmek isteyeceksiniz. Kaynak için önemli olmamalı ama daha sonra null geçiyor.

Tüm alay dışarı $.$.when örnek works ile değiştirilmesi ajax

Ya ajax isteği bir sorun var ya da dizi fetch_schemas geçen.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • FlippinWindows | #1 Windows Tutorial Channel!

    FlippinWindo

    23 Mayıs 2010
  • kndx

    kndx

    11 Mart 2006