Firebase Realtime Database, uygulamanızın gerçek zamanlı veritabanına erişmenizi sağlayan bir hizmettir. once()
ve get()
fonksiyonları, bu veritabanından veri almanın iki farklı yoludur.
once()
fonksiyonu, bir defalık veri almak için kullanılır. Bu fonksiyon çağrıldığında, belirtilen veritabanı referansına bir defaya mahsus bir istek gönderilir ve ilgili verileri döndürür. Bu, veritabanındaki belirli bir yolu okumak veya bir düğümün altındaki tüm verileri almak için kullanılabilir. once()
fonksiyonu, verileri alır ve ardından hemen geri döner, ancak eğer belirtilen yoldaki veriler değişirse, bu değişiklikleri otomatik olarak izlemez.
Örneğin, aşağıdaki kodla veritabanından bir defalık veri alabilirsiniz:
firebase.database().ref('users/123').once('value').then((snapshot) => {
const userData = snapshot.val();
console.log(userData);
});
get()
fonksiyonu ise, belirli bir veritabanı referansının altındaki verileri dinlemek ve herhangi bir değişiklik olduğunda otomatik olarak güncellemek için kullanılır. Bu fonksiyon, bir başvurunun bir kez değil sürekli olarak veri okumasını sağlar. Verilerde herhangi bir değişiklik olduğunda, otomatik olarak yeni verileri döndürür. Bu şekilde, verileri güncel tutmak ve gerçek zamanlı bir uygulama geliştirmek için kullanılabilir.
Aşağıdaki örnekte, get()
fonksiyonu kullanılarak verileri dinlemek için bir örnek verilmektedir:
firebase.database().ref('users/123').get().then((snapshot) => {
const userData = snapshot.val();
console.log(userData);
});
firebase.database().ref('users/123').on('value', (snapshot) => {
const userData = snapshot.val();
console.log(userData);
});
İlk örnekte get()
fonksiyonu, bir kez veri alır ve ardından döner. İkinci örnekte ise on()
fonksiyonu kullanılarak verileri dinlemeye başlar ve herhangi bir değişiklik olduğunda otomatik olarak güncellenir.
Hangisini Ne Zaman Kullanmalıyız?
once()
fonksiyonu bir defalık veri almak için kullanılırken, get()
fonksiyonu gerçek zamanlı güncellemeleri dinlemek ve veritabanındaki değişikliklere anında tepki vermek için kullanılır. Hangisini kullanacağınız, uygulamanızın ihtiyaçlarına ve veritabanı etkileşimi gereksinimlerinize bağlıdır.