微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何从graphql-flutter获取“错误”

如何解决我如何从graphql-flutter获取“错误”

我想从data.errors中获取发送的错误。我使用“ https://github.com/zino-app/graphql-Flutter/tree/master/packages/graphql”得到我的回应。我的回答如下:

{data: {…},status: 401,statusText: "OK",headers: {…},config: {…},…}
config: {url: "http://localhost:3000/graphql",method: "post",data: "{"query":"\n        query getSomeData($date: Str…variables":{"date":"2020-09-18","city":"London"}}",transformRequest: Array(1),…}
data:
data: {getSomeData: null}
errors: [{…}]
__proto__: Object
headers: {content-length: "88",content-type: "application/json; charset=utf-8"}
original_status: 200
request: XMLHttpRequest {readyState: 4,timeout: 0,withCredentials: false,upload: XMLHttpRequestUpload,onreadystatechange: ƒ,…}
status: 401
statusText: "OK"
__proto__: Object

获取数据的代码如下:

import 'dart:async';

import 'package:graphql/client.dart';
import 'package:Flutter/material.dart';
import 'package:Flutter_dotenv/Flutter_dotenv.dart';

import '../shared/secure_storage.dart' as storage;

final HttpLink _httpLink = HttpLink(
  uri: DotEnv().env['BACKEND_CONNECTION'],);

final AuthLink _authLink = AuthLink(
  getToken: () async => 'Bearer ' + storage.getToken(),);

final Link _link = _authLink.concat(_httpLink);

final GraphQLClient _client = GraphQLClient(
  cache: InMemoryCache(),link: _link,);

final String query = ''' typical query''';

class PublicConcertsBloc extends ChangeNotifier {
  //Data
  List _result;
  List get result => _result;

  //Getters

  QueryOptions get options => QueryOptions(
      documentNode: gql(query),variables: {'var1': var,'var2': 'var2'});

  set result(List val) {
    _result = val;
    notifyListeners();
  }

  Future loadConcerts() async {
    final QueryResult result = await _client.query(options);

    if (result.data == null) {
      print("data == null");
    } else if (result.data["getSomeData"] == null) {
      print("getSomeData == getSomeData");
    } else if (result.loading) {
      print(result.loading.toString());
    } else if (result.hasException) {
      print(result.exception.toString());
    } else {
      print(result.data['getSomeData']);
      _result = result.data['getSomeData'] as List;
    }
  }
}

有人可以在这里帮助我吗? result.exception不会告诉我想要的错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。