javascript - 在 JavaScript 中更改 Response 对象
问题描述
// takes the passed string as body
const response = new Response("Hello, World!");
// cannot change the body
const response = new Response();
response.body = "Hello, World!";
我正在尝试实现一些类似于非常小的 expressjs 的东西。我希望有将空响应对象作为参数并根据需要进行更改的方法,最后我会将该响应发送给客户端。
响应对象的主体在创建后属于 ReadableStream 类型,之后我不能简单地设置主体,如上所示。在那之后我能以某种方式改变身体吗?expressjs 如何做到这一点?
我当前的解决方法是将一个虚拟响应对象传递给我的方法,在对该虚拟对象的响应中添加我想要的标头,然后返回一个新对象,其中包含从该方法返回的主体和附加到它的标头。但这看起来一点也不漂亮或聪明。
当我也想设置响应状态时,也会出现同样的问题。这次我也不能使用虚拟响应,因为该虚拟的状态也是只读的。我为此找到的解决方法是再次从被调用的方法中抛出一些自定义对象,并创建一个新的响应对象以与该信息一起返回。
有没有办法随时更改响应对象?创建方法可以返回和抛出的 HttpResponse 和 HttpError 类以便我们可以调用该方法并采取与该方法的结果相关的操作是一种好习惯吗?
解决方案
推荐阅读
- azure-functions - Proxies.json 被发布覆盖;它应该在哪里?
- java - 由于android中的空指针异常,我无法获取我的数据
- r - R text2vec 包中的哈希矢量化器,带有停用词删除选项
- matplotlib - Python:设置 Seaborn 线图误差带边缘颜色
- shell - 关于caffe框架的shell脚本问题
- html - li 被隐藏的问题,按钮太低了
- apache-kafka - ksql - 是否可以从多个主题创建流并获得完整的事件有效负载?
- reactjs - 为选择选项循环对象时,引导选择失败
- npgsql - 如果端口关闭,NpgsqlConnection.Open 会抛出错误吗?
- c++ - 为什么创建朋友类的实例会导致“未定义的引用”错误?