Javascript Firestore batch.commit()不';t第一次向服务器发送数据';这叫什么
我有一个React web应用程序,我正在尝试批量上传到Firestore。我有一个上传按钮,触发下面的功能。第一次单击该按钮时,我看到日志中的第一条消息,但仅此而已—batch.commit()返回的承诺既没有被解析也没有被拒绝,因此其他控制台消息都不会出现。“网络”选项卡中没有任何内容 当我第二次单击上载按钮时,数据将上载,并且控制台中将显示完成消息。发生什么事了Javascript Firestore batch.commit()不';t第一次向服务器发送数据';这叫什么,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我有一个React web应用程序,我正在尝试批量上传到Firestore。我有一个上传按钮,触发下面的功能。第一次单击该按钮时,我看到日志中的第一条消息,但仅此而已—batch.commit()返回的承诺既没有被解析也没有被拒绝,因此其他控制台消息都不会出现。“网络”选项卡中没有任何内容 当我第二次单击上载按钮时,数据将上载,并且控制台中将显示完成消息。发生什么事了 const onUploadClick = () => { const db = firebase.firestore
const onUploadClick = () => {
const db = firebase.firestore()
const batch = db.batch()
const nycRef = db.collection('activities').doc('NYC')
batch.set(nycRef, { name: 'New York City' })
console.log('The batch is set to go.')
batch
.commit()
.then(function() {
console.log('Done.')
})
.catch(err => console.log(`There was an error: ${err}`))
}
我将
const db=firebase.firestore()
移动到另一个地方,在应用程序启动时执行,而不是在上传之前执行。我在文档中没有看到任何说明需要这样做的内容,因此我打开了一个。我将const db=firebase.firestore()移动到另一个位置,在应用程序启动时执行,而不是在上传之前执行。我在文档中没有看到任何说明必须这样做的内容,所以我打开了一个。你是说firebase.firestore()
似乎是惰性的,并且是异步初始化的吗?这不应该发生。无论在哪里调用firebase.firestore()
。即使是const nycRef=firebase.firestore().collection('activities').doc('NYC')
也应该可以正常工作。@FrankvanPuffelen是的,应该可以!你是说firebase.firestore()
似乎是惰性的,并且是异步初始化的?这不应该发生。无论在哪里调用firebase.firestore()
。即使是const nycRef=firebase.firestore().collection('activities').doc('NYC')
也应该可以正常工作。@FrankvanPuffelen是的,应该可以!