为什么我的 Node.js ServerResponse **wrapped by Proxy** 没有响应?

Why my Node.js ServerResponse **wrapped by Proxy** doesn't respond?

这一定是一个非常具体和奇怪的问题。

这很明显,

import http from 'http';

http.createServer(function(_req, res) {
  res.end('yeah!');
}).listen(3000);

但这不是。服务器未响应请求。

import http from 'http';

http.createServer(function(_req, res) {
  const pres = new Proxy(res, {});
  pres.end('yeah!');
}).listen(3000);

出于某种原因我需要包装 ServerResponse...我正在调试但没有任何线索。 这样的代理对象与原始对象有什么不同? 符号? 属性定义?如果有人知道这件事,请post。如有任何信息,我们将不胜感激。

我明白了。函数上下文 (this) 应该是原始的 ServerResponse 本身。

import http from 'http';

http.createServer(function(_req, res) {
  const pres = new Proxy(res, {
    get(t, p, r) {
      const v = Reflect.get(t, p, r);
      if (typeof v === 'function') return v.bind(t);
      return v;
    },
  });
  pres.end('yeah!');
}).listen(3000);

哒.