gpt4 book ai didi

javascript - 如何将数据传递给 http 创建服务器回调?

转载 作者:行者123 更新时间:2023-11-30 17:02:41 27 4
gpt4 key购买 nike

我是一名学习 NodeJS 的 Java 开发人员,并且在这里苦苦挣扎。

var sys = require("sys"),
myhttp = require("http");

myhttp.createServer(callback).listen(8082); //How do I pass a String here ?

function callback(request,response) {
response.writeHeader(200, {"Content-Type": "text/plain"});
response.write("msg"); //I want to access the string value being passed above
response.end();
}

在 response.write 代码行中,我想动态传递一些东西。没有硬编码。简单的方法是制作一个全局变量并使用它,但我想学习如何在传递回调函数(在 myhttp.createServer 行中)的同时传递字符串。我试着查看 createServer 方法的源代码,但无法掌握传递附加参数的方法。

最佳答案

你想要一个制造服务器的工厂吗?

var sys = require("sys"),
myhttp = require("http");

function makeServer(str) {
myhttp.createServer(callback).listen(8082);

function callback(request,response) {
response.writeHeader(200, {"Content-Type": "text/plain"});
response.write(str);
response.end();
}
}

更多时候,您希望在回调中进行某种数据获取,或者使用高阶函数来创建处理程序。

编辑:根据您的评论,您还可以通过返回函数来使用回调构造函数:

var sys = require("sys");
var myhttp = require("http");

function makeCallback(str) {
return function(request, response) {
response.writeHeader(200, {"Content-Type": "text/plain"});
response.write(str);
response.end();
}
}

myhttp.createServer(makeCallback('foo')).listen(8082);

关于javascript - 如何将数据传递给 http 创建服务器回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28555107/

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