- Bazen kullanıcı başka bir sayfaya geçtiğinde veya bir form gönderdiğinde log bırakmak isteyebilirsiniz
- Tıklama olayının içine
fetchkoymak, isteğin kesinlikle gönderileceğini garanti etmez - Bu yüzden
fetchyaptıktan sonrawindow.locationatayarak yönlendirmeyi deneyebilirsiniz, ancak bu da yine garanti sağlamaz- Çünkü XHR asenkron ve non-blocking çalışır
fetchi Promise ileawaitederek beklemek mümkün, ancak bunun da dezavantajları vardır- İşlem yavaşladığı için kullanıcı deneyimi kötüleşir
- Beklendiği kadar güvenilir değildir. Tarayıcı sekmesini kapatmak gibi durumlar ele alınamaz
- Tarayıcıya HTTP isteğini korumasını söyleyen çeşitli seçenekler vardır
fetchtekeepalivebayrağı kullanılırsa, sayfa sonlandırılsa bile ilgili istek sürdürülürNavigator.sendBeacon()gibi daha basit bir fonksiyon vardır- Tarayıcılar
aetiketindepingözelliğini de destekler (yalnızca bağlantılarda kullanılabilmesi dezavantajdır, Firefox varsayılan olarak desteklemez)
- Peki hangisini kullanmak gerekir?
- Mümkünse
fetch()+keepalive- Tarayıcıların %80'i destekler
- Özel header gönderilebilir
GETisteğiyle de kullanılabilir- Eski tarayıcılar desteklenir
sendBeacon()şu durumlarda iyidir- Tarayıcıların %96'sı destekler
- Çok fazla özelleştirme gerekmiyorsa
- Temiz ve zarif bir API tercih ediliyorsa
- Tarayıcının diğer öncelikli istekleriyle rekabete girmesi istenmiyorsa
- Mümkünse
Henüz yorum yok.