2016-12-24 73 views
-1

ajaxリクエストに応答するnode.jsサーバーがあり、Webページをクリックしてajax呼び出しが送信され、関数が実行されますが、時々サーバーがフリーズしますctrl+cはそれのフリーズを解除し、それが時にはそれはdoesntのと、私はそれを再起動する必要があり、要求の処理を続行します。NodeJsサーバーがフリーズする、Ctrl + Cがフリーズする場合がある

コード:

app.use(function(req, res, next) { 
    console.log("Header"); 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
    console.log("Header sent!") 

}); 

app.get('/', function (req, res) { 

    r.getSubreddit('HighRes').getRandomSubmission().then(function(post){ 

     if(post.url.includes(".jpg")){ 
      currentUrl = post.url; 
      console.log(currentUrl); 
      res.send(currentUrl); 
      res.end(); 

     } else{ 

      console.log("Wrong format"); 
     } 

     }); 
    console.log("Got request"); 
    //res.end(); 


}) 

var server = app.listen(8081, function() { 
    var host = server.address().address 
    var port = server.address().port 

    console.log("Example app listening at http://%s:%s", host, port) 
}) 

答えて

1

あなた/ルートといくつかの問題があります。場合は、URLは応答を返すされているが、他の場合には、あなたが何かを返すされていない、jpgが含まれています。したがって、あなたのリクエストは待機状態です。

次のコードを試してください。

app.get('/', function (req, res) { 
    r.getSubreddit('HighRes').getRandomSubmission().then(function(post){ 
     if(post.url.includes(".jpg")){ 
      currentUrl = post.url; 
      console.log(currentUrl); 
      res.send(currentUrl); 
     } else{ 
      console.log("Wrong format"); 
      res.send('Wrong format'); //you should return something here too 
     } 
    }); 
}); 
+0

そんなにそれが実際に固定ありがとう! – ChrisEthanFox

関連する問題