Flatter firebase函数错误:响应不是有效的JSON对象
您好,我试图使用Pkg使用firebase函数,但在flatterconsel中出错,我试图在函数中传递参数,该函数是用户的UID Consel错误:Flatter firebase函数错误:响应不是有效的JSON对象,firebase,flutter,dart,google-cloud-functions,Firebase,Flutter,Dart,Google Cloud Functions,您好,我试图使用Pkg使用firebase函数,但在flatterconsel中出错,我试图在函数中传递参数,该函数是用户的UID Consel错误: E/flutter (17871): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: [firebase_functions/internal] Response is not valid JSON object. E/flutter (17871): #0
E/flutter (17871): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: [firebase_functions/internal] Response is not valid JSON object.
E/flutter (17871): #0 catchPlatformException
package:cloud_functions_platform_interface/…/utils/exception.dart:21
E/flutter (17871): #1 _rootRunBinary (dart:async/zone.dart:1378:47)
E/flutter (17871): #2 _CustomZone.runBinary (dart:async/zone.dart:1272:19)
E/flutter (17871): #3 _FutureListener.handleError (dart:async/future_impl.dart:166:20)
E/flutter (17871): #4 Future._propagateToListeners.handleError (dart:async/future_impl.dart:716:47)
E/flutter (17871): #5 Future._propagateToListeners (dart:async/future_impl.dart:737:24)
E/flutter (17871): #6 Future._completeError (dart:async/future_impl.dart:547:5)
E/flutter (17871): #7 _completeOnAsyncError (dart:async-patch/async_patch.dart:264:13)
E/flutter (17871): #8 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart)
package:flutter/…/services/platform_channel.dart:1
E/flutter (17871): <asynchronous suspension>
Firebase的颤振运行功能:
IconButton(
icon: Icon(Icons.add),
onPressed: () async {
HttpsCallable callable =
FirebaseFunctions.instance.httpsCallable('listFruit');
final results = await callable.call(<String, dynamic>{
'uid': '123',
});
print(results
.data.toString()); // ["Apple", "Banana", "Cherry", "Date", "Fig", "Grapes"]
});
IconButton(
图标:图标(Icons.add),
onPressed:()异步{
HttpScalable可调用=
FirebaseFunctions.instance.httpscalable('listFruit');
最终结果=等待调用。调用({
“uid”:“123”,
});
打印(结果)
.data.toString();//[“苹果”、“香蕉”、“樱桃”、“枣”、“无花果”、“葡萄”]
});
我的目标是:
将参数传递给firebase函数。而不是
exports.helloWorld = functions.https.onCall((data, context) => {
return data.data()['uid'];
});
你应该这样做
exports.helloWorld = functions.https.onCall((data, context) => {
return data['uid']; // Or data.uid
});
在可调用的云函数中没有更多的细节
此外,请注意,您的云函数名为
helloWorld
,但您可以使用FirebaseFunctions.instance.httpscalable('listFruit'
);来调用它;。因此,您应该调整其中一个,例如,FirebaseFunctions.instance.httpscalable('helloWorld')代码>代替
exports.helloWorld = functions.https.onCall((data, context) => {
return data.data()['uid'];
});
你应该这样做
exports.helloWorld = functions.https.onCall((data, context) => {
return data['uid']; // Or data.uid
});
在可调用的云函数中没有更多的细节
此外,请注意,您的云函数名为helloWorld
,但您可以使用FirebaseFunctions.instance.httpscalable('listFruit'
);来调用它;。因此,您应该调整其中一个,例如,FirebaseFunctions.instance.httpscalable('helloWorld')代码>它对返回数据['uid']的处理。感谢您的帮助,它处理返回数据['uid']。谢谢你的帮助,