Firebase 在服务器上的firestore事务中修改应用程序状态可以吗?

Firebase 在服务器上的firestore事务中修改应用程序状态可以吗?,firebase,google-cloud-firestore,transactions,firebase-admin,Firebase,Google Cloud Firestore,Transactions,Firebase Admin,国家 不要在事务函数内修改应用程序状态。这样做会带来并发问题,因为事务函数可以运行多次,并且不能保证在UI线程上运行 当使用ADMINSDK时,我不需要考虑UI线程。这是否意味着可以修改admin SDK事务中的状态?事务可能由于各种原因无法提交。在这种情况下,SDK最多可以重试事务5次,从而导致更新功能执行多次(请参阅)。因此,在事务更新主体中进行状态更改仍然不是一个好主意。在进行状态更改之前,最好观察事务提交状态: 试试看{ 等待db.runTransaction(异步(t)=>{ cons

国家

不要在事务函数内修改应用程序状态。这样做会带来并发问题,因为事务函数可以运行多次,并且不能保证在UI线程上运行


当使用ADMINSDK时,我不需要考虑UI线程。这是否意味着可以修改admin SDK事务中的状态?

事务可能由于各种原因无法提交。在这种情况下,SDK最多可以重试事务5次,从而导致更新功能执行多次(请参阅)。因此,在事务更新主体中进行状态更改仍然不是一个好主意。在进行状态更改之前,最好观察事务提交状态:

试试看{
等待db.runTransaction(异步(t)=>{
const doc=等待t.get(cityRef);
const newPopulation=doc.data().population+1;
t、 更新(cityRef,{population:newPopulation});
});
console.log('Transaction success!');
//这里有状态变化吗
}捕获(e){
console.log('事务失败:',e);
}