Как поймать облачные функции на Call functions.https.HttpsError от Flutter с пакетом cloud_functions - PullRequest
0 голосов
/ 21 февраля 2020

Я использую пакет Flutter cloud_functions и облачные функции. Я хочу поймать functions.https.HttpsError на CloudFunctionsException (на стороне клиента). Я не могу поймать functions.https.HttpsError с Flutter независимо от того, что я намеренно выбрасываю.

Невозможно поймать functions.https. HttpsError выбросить пакетом облачных функций с CloudFunctionsException?

Помогите мне.

облачные функции

export const sampleFunctions = functions.region(REGION).https.onCall((data, context) => {
    if (!data.hoge) throw new functions.https.HttpsError('failed-precondition', 'some reason');
    return { response: data.fuga };
});

дротик

  Future<dynamic> sampleFunction() async {
    final _cloudFunctions = CloudFunctions(region: 'asia-northeast1');
    final _sampleFunctions = _cloudFunctions.getHttpsCallable(
      functionName: 'sampleFunctions',
    );

    try {
      final resp = await _sampleFunctions.call(<String, dynamic>{
        'fuga': 'fuga',
      });
      print(resp);
    } on CloudFunctionsException catch (e) {
      print(e.code);
      print(e.message);
    }
  }

1 Ответ

0 голосов
/ 21 февраля 2020

В Dart Docs есть реализация функции вызова . Если вы посмотрите на него, CloudFunctionsException выдается только тогда, когда свойство исключения code == 'functionsError'.

С functions.https.HttpsError вы - код из первого параметра ('failed-precondition' в примере). К сожалению, HttpError имеет ограниченные возможные значения кодов ошибок, а «functionsError» отсутствует в списке .

Так что, похоже, это не сработает.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...