Ich rufe eine Webadresse als URL-Parameter ab und zeige dann an, ob die Adresse einen Statuscode von 200 zurückgibt oder nicht. Das Problem ist, es scheint nur nach ein paar Sekunden zu funktionieren - beim ersten Mal scheint der Code, der 'mystatus' zuweist, nicht richtig zu funktionieren. Ich habe das Gefühl, dass es ein Problem mit der Reihenfolge gibt, in der ich die Dinge leite, aber ich bin mir nicht sicher, wie ich das beheben soll.Definieren der Reihenfolge der Vorgänge in einer http.get() -Anforderung - sync/async-Problem
var express = require("express");
var moment = require("moment");
var http = require("http");
var express = require("express");
var moment = require("moment");
var http = require("http");
var app=express();
var mystatus="";
app.get('/new/:name*', function(req,res){
//detect if name is a URL
//return output
http.get("http:"+req.params[0], function(thisres){
if (thisres.statusCode != 200){
mystatus = "Could not load";
}
else {
mystatus = "Loaded!";
}
}).on('error', function(e){
console.error(e);
})
res.json({url_part1: req.params.name,
url_part2: req.params[0],
status: mystatus
});
})
app.listen(8080, function(){
console.log("App listening on port 8080")
});