Во-первых, я не очень хорошо говорю по-английски.Моя скорость реакции приложения Node.js очень низкая
Я пытаюсь написать код как Node.js на основе Fingersquared в Raspberry Pi.
Итак, я хочу просто контролировать свой RPi'GPIO. Но когда я нажимаю кнопку, console.log
показывает очень медленно или совсем нет (но когда я нажимаю на каждую кнопку в первый раз очень быстро реагирую)
Когда я проверяю скорость процессора, это нормально (менее 2%), ,
Какая у меня вина? :(
app.js
var express = require('express')
, routes = require('./routes')
, http = require('http')
, path = require('path')
, gpio_led = require('./routes/led');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 52237);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
app.get('/led/:num/:switch', function(req,res){
var num = req.params.num
, sw = req.params.switch;
console.log('LED ' + num + ' is ' + sw + '.');
//gpio_led(num,sw);
})
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
index.jade
extends layout
block content
.row
.six.columns.centered
.panel
.row
h4.text-center LED_01
.six.columns.text-center
a.button.large.right.LED1_ON ON
.six.columns
a.button.large.left.LED1_OFF OFF
.row
hr
h4.text-center LED_02
.six.columns
a.button.large.right.LED2_ON ON
.six.columns
a.button.large.left.LED2_OFF OFF
.row
script(type='text/javascript')
$('.LED1_ON').on('click', function(){
$.get('/led/1/on');
});
$('.LED1_OFF').on('click', function(){
$.get('/led/1/off');
});
Вам нужно будет предоставить нам более подробную информацию. Если вы выполните 'console.log' перед' $ .get ('/ led/1/on'); 'как быстро вы видите это? Если это медленно, тогда ваша проблема в скорости выполнения JS в браузере. Если нет, возможно, HTTP GET медленный (возможно, проблема с кешем?). Попробуйте синхронизировать это время (консоль отладки вашего браузера должна помочь). Если нет, то сам сервер может быть медленным, попробуйте выбрать время и посмотреть, что замедляет его. –