亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

flutter & firebase:寫成功,有錯誤?

flutter & firebase:寫成功,有錯誤?

千巷貓影 2022-08-27 15:08:50
我有一些看似非常奇怪的行為。我一直在關注有關將firebase集成到我的flutter應用程序中的多個教程。我正在嘗試做一些非常簡單的事情。當用戶按下按鈕時,將創建一個“會話”文檔。我有這個 :index.jsconst functions = require('firebase-functions');const admin = require('firebase-admin');admin.initializeApp(functions.config().firebase);exports.addSession = functions.https.onCall((data, context) => {    const sessions = admin.firestore().collection('sessions');    return sessions.add({        game: data['game'],        rules: data['rules'],        password: data['password'],        roomCode: data['roomCode'],        playerIds: data['playerIds']    });});在Flutter中調用時,數據已成功寫入數據庫(我可以在控制臺中看到它),但我也總是收到此錯誤:[VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: PlatformException(functionsError, Firebase function failed with exception., {message: INTERNAL, code: INTERNAL})當我檢查 Firebase 日志時,我看到以下內容:顫動調用:final HttpsCallable callable =        CloudFunctions.instance.getHttpsCallable(functionName: 'addSession');    await callable.call(<String, dynamic>{      'game': game,      'rules': 'default',      'password': password,      'roomCode': _roomCode,      'playerIds': [123456],    });對此非常困惑,結果似乎無關緊要。這是非常簡單的代碼!maximum stack call size exceeded還想知道這是否與我遇到的閱讀問題有關,我將在另一篇文章中詢問。
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

問題在于您從函數返回的內容??烧{用函數將根據代碼返回的內容生成對客戶端的響應。該響應將序列化為 JSON。您的代碼返回一個使用 DocumentReference 解析的 promise,并且 DocumentReference 不能很好地序列化,因為它包含循環引用。

相反,您應該做的是向客戶端返回一些明確而簡單的東西。例如:

exports.addSession = functions.https.onCall(async (data, context) => {
    const sessions = admin.firestore().collection('sessions');
    await sessions.add({
        game: data['game'],
        rules: data['rules'],
        password: data['password'],
        roomCode: data['roomCode'],
        playerIds: data['playerIds']
    });    return { result: "OK" }
});

當然,您可以返回任何您認為更有幫助的東西。請注意,我在JavaScript中使用了async/await synctax,以使其更容易。承諾就像飛鏢中的未來一樣工作。


查看完整回答
反對 回復 2022-08-27
  • 1 回答
  • 0 關注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號