gpt4 book ai didi

javascript - Node.js 请求指向响应

转载 作者:行者123 更新时间:2023-12-03 08:30:24 25 4
gpt4 key购买 nike

当我创建一个带有 Node 的http服务器时,我想知道请求对象可以以某种方式指向响应对象。现在,我正在创建一个等于响应的全局变量并访问它,但我想直接从请求访问响应。

var http = require('http');

var server = http.createServer(server_handler).listen(port);

var response_stream_object = {};

function server_handler(request, response) {
response_stream_object = response;
request.func(param);
}

http["IncomingMessage"].prototype.func = function(param) {
// Doing something with response_stream_object
}

最佳答案

不要使用全局变量。它由对您的服务器的所有请求共享。因此,如果在处理完当前请求之前收到另一个请求,它可能会被覆盖。仅当您的异步处理为零(无数据库、无磁盘访问、无网络访问)时,这才可以。

由于这是 javascript,当然您可以随时向对象(任何对象)添加内容。例如,您甚至可以向内置 Math 对象添加内容:

// only an example, don't do this:
Math.monkey = "ooh, ooh, aah, aah";

所以你可以简单地这样做:

request.response = response;

现在关联的响应对象直接绑定(bind)到请求对象。

<小时/>

但是如果您需要这样做,请务必仔细考虑您的架构。如果您确实需要这样做,那么您可能做错了什么。

关于javascript - Node.js 请求指向响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33359438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com