我想编写代码,将数据每秒添加到Firebase 10秒。此代码的问题在于,它正在不终止地将新数据立即写入数据库。如何修复setInterval,使其仅在10秒内每秒写入代码?
exports.addWelcomeMessages = functions.firestore.document('messages/{messageId}').onCreate(
async (snapshot) => {
const text = snapshot.data().text;
let timerId = setInterval(() =>
admin.firestore().collection('messages').add({
name: 'Firebase Bot',
profilePicUrl: '/images/firebase-logo.png', // Firebase logo
text: text,
timestamp: admin.firestore.FieldValue.serverTimestamp(),
}), 1000);
setTimeout(() => { clearInterval(timerId); alert('stop'); }, 10000);
console.log('Welcome message written to database.');
});