나는 RxJS 구현이 끝날 때까지 node.js로 잘 지내왔다. 여기 RxJS + node.js HTTP 서버 구현?
내 시험 코드 studying-반응성-확장이/rxjs 노드입니다 https://github.com/Reactive-Extensions/rxjs-node
rx_http.js
(Node.js를의 HTTP LIB의 RxJS 래퍼)
var Rx = require("./rx.min");
var http = require("http");
for(var k in http)
{
exports[k] = http[k];
}
exports.createServer = function()
{
var subject = new Rx.AsyncSubject();
var observable = subject.asObservable();
observable.server = http.createServer(function (request, response)
{
subject.onNext({ request:request, response:response });
subject.onCompleted();
});
return observable;
};
server.js
var http = require('./rx_http');
// rxServer
var serverObservable = http.createServer();
var port = 3000;
serverObservable.server.listen(port);
console.log("Server listening on port: "+port);
// HTTP request event loop function
serverObservable.subscribe(function (data)
{
var req = data.request;
console.log(req.headers);
var res = data.response;
res.writeHead(200, {'Content-Type':"text/html"});
res.end("hello world");
console.log("res content out");
});
// exceptiopn
process.on('uncaughtException', function (err)
{
console.log(['Caught exception:', err.message].join(" "));
});
코드는 일회성 브라우저 '안녕하세요'출력과 끝, 및 RxServer 다른 액세스 반응 중지 (brwoser 장전 등).
나는 RxJS를 배우는 길에 있지만, 웹에있는 설명서는 거의 없다.
코드의 문제점을 알려주고, 더 나은 구현 방법을 알고 있다면 공유하십시오. 감사합니다.
AsyncSubject 나는 이런 짓을하고 어떻게 그것을 수신와 node_module 요청을 사용하는 ... – MaxWillmo