2015-06-01 58 views
0

使用Express,Node和Angular,我在我的網站上設置了一個HTML按鈕,它運行一個獲取請求到Express,後者運行一個控制檯記錄預定義消息的函數。第一次點擊按鈕時,日誌會立即出現在我的終端中。 問題是我第一次觸碰它後的任何時間,打印控制檯信息有很大的延遲。預先感謝任何幫助!
MY FILES

analysis.server.routes.js =>快遞文件句柄分析頁面的路線。

'use strict'; 

module.exports = function(app) { 
    // analysis routes 
    app.route('/image_analysis') 
     .get(function(req, res) { 
      console.log('I\'ve been hit!!!'); 
     }); 
}; 

analysis.client.controller.js => AngularJS控制器。當按下HTML按鈕,sayHello的函數運行

'use strict'; 

angular.module('analysis').controller('AnalysisController', ['$scope', '$http', '$location', 'Authentication', 
    function($scope, $http, $location, Authentication) { 
     $scope.user = Authentication.user; 
     $scope.sidebarCollapsed = false; 

     // redirect to homepage if user isn't logged in 
     if (!$scope.user) $location.path('/'); 

     $scope.sayHello = function() { 
      $http.get('/image_analysis'); 
     }; 

     // highlight open chevron on mouseover 

     $scope.toggleSidebar = function() { 
      /* jshint ignore:start */ 
      $("#wrapper").toggleClass("toggled"); 
      /* jshint ignore:end */ 
      $scope.sidebarCollapsed = !$scope.sidebarCollapsed; 
     }; 
    } 
]); 

回答

2

我想這是因爲你沒有結束在路由的get hanlder的響應。

試試這個。

module.exports = function(app) { 
    // analysis routes 
    app.route('/image_analysis') 
     .get(function(req, res) { 
      console.log('I\'ve been hit!!!'); 
      res.end(); 
     }); 
}; 
+1

是的,那固定它。謝謝:) –

+1

將res.end()放在控制檯日誌之後的承諾中是否合適? –

相關問題