不知道如何在Flutter 中从云函数中获得响应.

我的云功能

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.testDemo = functions.https.onRequest((request, response) => {
  return response.status(200).json({msg:"Hello from Firebase!"});
 });

我的Flutter 代码

///Getting an instance of the callable function:
    try {
      final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(
        functionName: 'testDemo',);

      ///Calling the function with parameters:
      dynamic resp = await callable.call();
      print("this is responce from firebase $resp");

    } on CloudFunctionsException catch (e) {
      print('caught firebase functions exception');
      print(e.code);
      print(e.message);
      print(e.details);
    } catch (e) {
      print('caught generic exception');
      print(e);
    }

Flutter :捕获firebase函数异常

推荐答案

使用

exports.testDemo = functions.https.onCall((data, context) => {
  return {msg:"Hello from Firebase!"};
});

在云功能中.CallableRequest不同

调用函数时,需要添加参数:

更改:

 // Calling a function without parameters is a different function!
  dynamic resp = await callable.call();

收件人:

dynamic resp = await callable.call(
     <String, dynamic>{
       'YOUR_PARAMETER_NAME': 'YOUR_PARAMETER_VALUE',
     },
);

如所描述的here

然后,要打印响应,请执行以下操作:

print(resp.data)
print(resp.data['msg'])

Firebase功能适用于Flutter 示例herehere

Dart相关问答推荐

如何在将构造函数参数赋给最终变量和传递给超级构造函数之前操作它?

如何获取包含在 Dart 包中的assets资源 的文件路径?

如何在 Dart 中实现继承?

Flutter tabview刷新问题

如何从 Dart 中的映射中过滤空值

Flutter:是否可以有多个 Futurebuilder 或一个 Futurebuilder 用于多个 Future 方法?

Flutter|Dart 创建匿名类

执行 `dart2js` 时会生成哪些文件?为什么?

Dart 包 - 如何隐藏内部方法和类?

Dart / Flutter 错误:没有为类Logger定义toStringDeep

使用 Google Dart 进行数据库查询?

Flutter:测试期间的计时器问题

泛型类型Dart上的调用方法

Flutter 中 ListView.builder 中的反向列表

在 Dart 中将类类型作为变量传递

使用 Dart 解析 URI 以提取查询参数

`FutureOr` 的目的是什么?

Dart 中的异步可迭代映射

如何在dart中生成随机字符串?

如何在 Dart 中读取控制台输入/标准输入?