簡體   English   中英

Flutter-Firebase:未處理的異常:[firebase_functions/internal] 響應無效 JSON object

[英]Flutter-Firebase: Unhandled Exception: [firebase_functions/internal] Response is not valid JSON object

我正在嘗試將可調用的 function 添加到我的應用程序,但我得到的是未處理的異常:[firebase_functions/internal] 響應無效 JSON ZA8CFDE6331BD59EB2AC96F8911BB4。 我嘗試了另一個非常簡單的 function,結果總是一樣的。 這是 function:

const functions = require("firebase-functions");

exports.sendMessage = functions.https.onCall((data, context) => {
  return ["Apple", "Banana", "Cherry", "Date"];
});

這是電話:

Future<void> checkCallable() async {
    debugPrint((await FirebaseFunctions.instance.httpsCallable('sendMessage').call()).data);
  }

最后是錯誤:

E/flutter (26536): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: [firebase_functions/internal] Response is not valid JSON object.
E/flutter (26536): 
E/flutter (26536): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
E/flutter (26536): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:18)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #2      MethodChannelHttpsCallable.call (package:cloud_functions_platform_interface/src/method_channel/method_channel_https_callable.dart:23:24)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #3      HttpsCallable.call (package:cloud_functions/src/https_callable.dart:49:37)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #4      _MyHomePageState.checkCallable (package:league_tracker/main.dart:79:17)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): 
E/flutter (26536): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
E/flutter (26536): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:18)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #2      MethodChannelHttpsCallable.call (package:cloud_functions_platform_interface/src/method_channel/method_channel_https_callable.dart:23:24)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #3      HttpsCallable.call (package:cloud_functions/src/https_callable.dart:49:37)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #4      _MyHomePageState.checkCallable (package:league_tracker/main.dart:79:17)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): 
I/flutter (26536): Got null accent color.
D/InputTransport(26536): Input channel destroyed: 'ClientS', fd=146
E/flutter (26536): [ERROR:flutter/shell/common/shell.cc(93)] Dart Unhandled Exception: [firebase_functions/internal] Response is not valid JSON object.
E/flutter (26536): 
E/flutter (26536): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
E/flutter (26536): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:18)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #2      MethodChannelHttpsCallable.call (package:cloud_functions_platform_interface/src/method_channel/method_channel_https_callable.dart:23:24)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #3      HttpsCallable.call (package:cloud_functions/src/https_callable.dart:49:37)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #4      _MyHomePageState.checkCallable (package:league_tracker/main.dart:79:17)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): , stack trace: #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
E/flutter (26536): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:18)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #2      MethodChannelHttpsCallable.call (package:cloud_functions_platform_interface/src/method_channel/method_channel_https_callable.dart:23:24)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #3      HttpsCallable.call (package:cloud_functions/src/https_callable.dart:49:37)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): #4      _MyHomePageState.checkCallable (package:league_tracker/main.dart:79:17)
E/flutter (26536): <asynchronous suspension>
E/flutter (26536): 

編輯:在 function 我也嘗試返回類似:

return {message: text};

或者

return "text";

響應必須是 JSON object,試試這樣的:

exports.sendMessage = functions.https.onCall((data, context) => {
  return {result: ["Apple", "Banana", "Cherry", "Date"]};
});

有關詳細信息,請參閱響應正文

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM