首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Future<StreamedResponse>转换为Future<Response>?

如何将Future<StreamedResponse>转换为Future<Response>?
EN

Stack Overflow用户
提问于 2019-07-04 21:45:40
回答 1查看 815关注 0票数 1

我试图用body发送一个DELETE请求,但是http.delete不支持向请求中添加body。

我在网上找到了这个解决方案,但我想返回Response而不是StreamedResponse。我怎样才能做到这一点呢?

代码语言:javascript
复制
  static Future<http.Response> deleteFavorites({Map<String, int> body}) async {
    UserRepository userRepository = UserRepository();
    String token = await userRepository.storage.read(key: 'token');
    final client = http.Client();
    var response;
    try {
      response =
          await client.send(http.Request("DELETE", Uri.parse(favoritesUrl))
            ..headers["access-token"] = token
            ..body = jsonEncode(body));
      //
    } finally {
      client.close();
    }
    return response;
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-04 22:01:54

您可以在响应类fromStream中使用静态方法,它接受StreamedResponse并返回您想要的未来,只需将返回值更改为:

代码语言:javascript
复制
return Response.fromStream(response);

您可以查看文档的https://pub.dev/documentation/http/latest/http/Response-class.html

希望它能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56889334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档