首页 > 解决方案 > 云功能失败并出现异常:内部,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

编辑:看起来问题出在模拟器上。我已将功能部署到服务器。修复了问题(错误的返回类型)并且它起作用了。

标签: firebasefluttergoogle-cloud-functions

解决方案


该错误实际上与模拟器无关:

您在模拟器中运行它时调用 http:// localhost :5005,您必须将其更改为:10.0.2.2,这样您就可以通过模拟器访问 localhost,希望对您有所帮助。

10.0.2.2 = 本地主机


推荐阅读