当我在模拟器或真实设备(iPhone SE)上运行此代码时,当我按下"确认"按钮时,应用程序才会停止.当我尝试在调试模式下放置一些断点时,它不会在断点处停止应用程序.最后,我在运行期间甚至冻结时都没有任何异常.
所以我要求你的帮助,提前谢谢.
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:chart_test/testDeg.dart';
import 'main.dart';
class Login extends StatefulWidget {
@override
_LoginState createState() => new _LoginState();
}
class _LoginState extends State<Login> {
String phoneNo;
String smsCode;
String verificationId;
Future<void> verifyPhone() async {
final PhoneCodeAutoRetrievalTimeout autoRetrieve = (String verId) {
this.verificationId = verId;
};
final PhoneCodeSent smsCodeSent = (String verId, [int forceCodeResend]) {
this.verificationId = verId;
smsCodeDialog(context).then((value) {
print('Signed in');
});
};
final PhoneVerificationCompleted verifiedSuccess = (FirebaseUser user) {
print('verified');
};
final PhoneVerificationFailed …Run Code Online (Sandbox Code Playgroud) 我有这样的云火存储对象
"TestCollection" : ["Test1","Test"]
Run Code Online (Sandbox Code Playgroud)
现在,我想用FieldValue.arrayUnion更新此数组,因为如果元素相同,那么我就不想做任何事情,但是如果不是,那么我想添加元素
docRef.updateData({"TestCollection":FieldValue.arrayUnion(["test"])})
Run Code Online (Sandbox Code Playgroud)
但是此语句给出了错误,例如对象不能具有嵌套数组
任何人都可以请帮助或提供相同的示例来查找语法吗?
如何将 admin.firestore.FieldValue.serverTimestamp() 传递给 update() 方法?我想将其插入到一个数组中,如下所示:
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp(functions.config().firebase);
exports.sendNote = functions.https.onCall(async(data,context)=>{
const numeroSender: string = data['numeroSender'];
const amisA = admin.firestore().collection('Amis').doc(numeroReceiver);
const connaissanceABBA:number = 3.0;
const version:number = 1;
const time = admin.firestore.FieldValue.serverTimestamp();
await amisA.update({
[`amis.${numeroSender}`] : [time,connaissanceABBA,version]
});
});
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误
Error: Update() requires either a single JavaScript object or an
alternating list of field/value pairs that can be followed by an
optional precondition. Value for argument "dataOrField" is not a …Run Code Online (Sandbox Code Playgroud) 我想使用在 Typescript 中键入的云函数更新 Firestore 中的地图,因此我编写了此代码,但它不起作用:
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp(functions.config().firebase);
exports.sendNote = functions.https.onCall(async(data,context)=>{
const numeroSender: string = data['numeroSender'];
const amisA = admin.firestore().collection('Amis').doc(numeroReceiver);
const connaissanceABBA:number = 3.0;
const version:number = 1;
await amisA.update({
'amis.${numeroSender}' : [connaissanceABBA,version]
});
});
Run Code Online (Sandbox Code Playgroud)
编辑器不会用它的值替换 numeroSender,我也尝试过:
'amis.'+numeroSender
Run Code Online (Sandbox Code Playgroud)
并且编辑器正在询问分号并显示许多其他错误。甚至我也尝试过这种方式:
const mapA: string = ("amis."+numeroSender);
console.log(mapA);
await amisA.update({
mapA : [connaissanceABBA,version]
});
Run Code Online (Sandbox Code Playgroud)
控制台显示正确的字符串,但更新函数不读取 mapA 值,而是使用字符串 'mapA' 执行。
firebase typescript google-cloud-functions google-cloud-firestore