Asynchronous 颤振:等待云函数完成并在客户端检查结果
正在尝试使用square支付处理器Asynchronous 颤振:等待云函数完成并在客户端检查结果,asynchronous,flutter,dart,google-cloud-firestore,square,Asynchronous,Flutter,Dart,Google Cloud Firestore,Square,正在尝试使用square支付处理器 客户端从Square SDK请求一个nonce 客户端将nonce写入云firestore 服务器创建客户卡并将结果写入数据库(可以是成功或错误) 我的问题是:如何在客户机中等待3)分钟,并据此进行 未来等待着你去写( 字符串控制字段, 动态通行条件, 持续时间超时,){ 打印(“等待服务器写入”); Completer Completer=Completer(); 流订阅流; 秒表计时器=秒表()…开始() 我的逻辑正确吗?这个代码正确吗?我能简化一下吗
stream = ref.snapshots().listen((snap) {
if (snap.data[controlField] != null) {
if (snap.data[controlField] == passCondition) {
stream.cancel();
completer.complete(true);
} else {
completer.complete(false);
}
}
if (timer.elapsedMilliseconds > timeout.inMilliseconds) {
print('operation timeout');
completer.complete(false);
}
print('no controlField ($controlField) in snap...');
completer.future;
});
print('waiting data....');
return completer.future; }