firebase - 云功能失败并出现异常:内部,Flutter 应用程序中没有代码
问题描述
我有非常简单的代码来测试我的 Flutter 应用程序中的 Cloud Functions 和 Firestore 模拟器。我的 Flutter 代码如下所示
CloudFunctions.instance.useFunctionsEmulator(origin: 'http://localhost:5005');
final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(
functionName: 'addNumbers',
);
dynamic resp = await callable.call(<String, dynamic>{});
我非常基本的功能如下所示:
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.addNumbers = functions.https.onCall((data) => {
return true;
});
我得到一个错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(functionsError, Cloud function failed with exception., {code: INTERNAL, details: null, message: INTERNAL})
E/flutter (31009): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter (31009): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
E/flutter (31009): <asynchronous suspension>
E/flutter (31009): #2 MethodChannelCloudFunctions.callCloudFunction (package:cloud_functions_platform_interface/src/method_channel_cloud_functions.dart:43:15)
E/flutter (31009): #3 HttpsCallable.call (package:cloud_functions/src/https_callable.dart:33:12)
任何想法可能是什么原因?没有代码或建议可能发生了什么。我已将Cloud Functions
依赖项添加到build.gradle
, 以及google-services.json
编辑:看起来问题出在模拟器上。我已将功能部署到服务器。修复了问题(错误的返回类型)并且它起作用了。
解决方案
该错误实际上与模拟器无关:
您在模拟器中运行它时调用 http:// localhost :5005,您必须将其更改为:10.0.2.2,这样您就可以通过模拟器访问 localhost,希望对您有所帮助。
10.0.2.2 = 本地主机
推荐阅读
- mysql - Google Cloud SQL 跟踪长查询
- nginx - 进行 API 调用时请求随机挂起
- powerbi - Powerbi:仅显示表中 > 0 的值
- android - Android webviews 和 loadData()
- azure - 如何通过 az cli 设置 Azure 服务主体的显示名称?
- linux - 匿名内存映射是否在 Linux 上预先设置?
- java - 为什么 indexOf 返回 -1 尽管 java 中的对象是相同的
- reactjs - @babel/plugin-transform-runtime 用于反应项目
- flutter - Flutter:调用setState时ListView滚动回原点
- javascript - 如何全屏显示jquery datetimepicker?