【发布时间】:2021-07-02 04:10:10
【问题描述】:
我有一个用户递增但不能递增到某个数字的 firebase 对象。 我想在交易中有一个条件,以防止用户增加超过设定的数字。 如何取消交易并向用户返回错误,即
try {
int setLimit = 12; //example limit... Can vary
final TransactionResult transactionResult = await myRef.runTransaction((MutableData mutableData) async {
var currentValue = mutableData.value ?? 0;
if (currentValue >= setLimit) {
throw 'full'; // .... how do I return from this (return throws error ... Expects MutableData)
}
mutableData.value = (mutableData.value ?? 0) + 1;
return mutableData;
});
【问题讨论】:
-
@cpboyce 不使用飞镖(颤振)
-
正确,它使用 JS。我将它添加为参考,您可以将相同的原则应用于飞镖。
-
添加
return会产生错误,因为您没有返回任何内容并将return null中的 null 添加到返回中会引发警告The getter 'value' was called on null.
标签: firebase flutter firebase-realtime-database