Web Workers API'sını kullanmak için gerçek dünyaya özgü bir manzara arıyorum .
Web Workers API'sını kullanmak için gerçek dünyaya özgü bir manzara arıyorum .
Yanıtlar:
John Resig (jQuery şöhretinden) burada web işçileri kullanmanın ilginç örnekleri var - oyunlar, grafikler, kripto.
Başka bir kullanım Web G / Ç - başka bir deyişle, arka planda URL'leri yoklamaktır. Bu şekilde sorgulama sonuçlarını bekleyen kullanıcı arayüzünü engellemezsiniz.
Başka bir pratik kullanım: Bespin içinde, onlar dizim, yapmak Web İşçilere kullandığınız olmaz Uygulamayı kullandığınız ederken düzenleme kodunuzu engellemek istiyor.
Gönderen Mozilla : Tek yönlü işçiler yararlı isimli kodunuzu kullanıcı arayüzü iplik engellemeden işlemciyi yoğun hesaplamalar için izin vardır.
Pratik bir örnek olarak, #s büyük bir tablo olan bir uygulamayı düşünün (bu gerçek dünya, BTW - ~ 2 yıl önce programladığım bir uygulamadan alınmıştır). Tablodaki bir # değerini giriş alanı aracılığıyla değiştirebilirsiniz ve farklı sütunlardaki diğer sayıların bir kısmı oldukça yoğun bir işlemle yeniden hesaplanır.
Eski iş akışı şuydu: # değerini değiştirin. JavaScript diğer numaralardaki değişikliklerden geçerken ve cehennem ve geri dönüş için optimize ettikten sonra web sayfası 3 dakika boyunca yanıt vermiyorken kahve alın. Kahve ile geri dön. İkinci bir numarayı değiştirin. Birçok kez tekrarlayın. KAYDET düğmesine tıklayın.
İşçilerle yeni iş akışı şu olabilir: # değerini değiştirin. Bir şeyin yeniden hesaplandığını ancak diğer # numaralarını değiştirebileceğiniz bir durum mesajı alın. Daha fazla # değiştir. Değişiklik tamamlandığında, durum "tüm hesaplamalar tamamlandı, şimdi son #'ları inceleyip kaydedebilirsiniz" olarak değişene kadar bekleyin.
Bunları tarayıcıdan sunucuya daha fazla miktarda veri göndermek için kullandım. Açıkçası, bunu düzenli AJAX çağrılarıyla yapabilirsiniz, ancak bu her ana bilgisayar adı için değerli bağlantılardan birini alırsa. Ayrıca, kullanıcı bu işlem sırasında bir sayfa geçişi yaparsa (örneğin, bir bağlantıyı tıklarsa), önceki sayfadaki JavaScript nesneleriniz kaybolur ve geri çağrıları işleyemezsiniz. Bir web çalışanı kullanıldığında, bu etkinlik bant dışında gerçekleşir, böylece tamamlanacağına dair daha iyi bir garantiniz olur.
Başka bir Kullanım örneği:
Sıkıştırılmış biçimde sunucudan değiştirilen çok sayıda görüntü ve diğer medya dosyalarınız varsa, arka planda dosyaları sıkıştırma / sıkıştırmayı kaldırma.
<canvas>
) oluşturulan resimlerle uğraşıyorsanız , görüntü verilerini sıkıştırılmış bir biçimde (ör. Png) alabilirsiniz. Benim nokta olduğunu değildi asla JS sıkıştırmak için uygun; benim açımdan, çoğu durumda , değil ve çoğu durumda - özellikle bu cevabın bahsettiği görüntülerle uğraşmak - kendi sıkıştırmanızı yuvarlamak için daha iyi bir alternatif var.