在Node.js中,我收到一条错误消息,说我有setTimeout()的意外标识符。发生了什么事?

时间:2015-07-26 04:39:11

标签: node.js raspberry-pi gpio

作为编程的初学者,我正在做一个带有覆盆子pi的有趣项目。我正在为一个带有节点模块的覆盆子pi编写一个简单的程序,我想延迟我的pi的GPIO引脚打开和关闭(现在)。我使用set Timeout()来延迟关闭GPIO引脚。 最大的问题是当我运行我的文件时,我得到一个错误,说setTimeout()是一个意外的标识符。一些帮助?

有关我使用的节点模块的更多信息,请访问以下链接:https://www.npmjs.com/package/pi-gpio

我的代码:

var gpio = require("pi-gpio");
var timers = require("timers"); //thought this might help fix problem
function start(){
    gpio.open(7, "output", function(err) {     // Open pin 7 for output 
    gpio.write(7, 1, function() {          // Set pin 7 high (1) 
        gpio.close(7);                     // Close pin 7 
    });
  });
}
function stop(){
    gpio.open(7, "output", function(err) {     // Open pin 7 for output 
    gpio.write(7, 0, function() {          // Set pin 7 low(0) 
       gpio.close(7);                     // Close pin 7 
   });
}
setTimeout(start,1000);
setTimeout(stop,3000);

这是我在SSH终端上遇到的错误:

pi@raspberrypi ~ $ node armrobot.js
/home/pi/armrobot.js:16
setTimeout(start,1000);
^^^^^^^^^^
SyntaxError: Unexpected identifier
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

1 个答案:

答案 0 :(得分:2)

您没有正确关闭stop功能。

function stop(){
    gpio.open(7, "output", function(err) {     // Open pin 7 for output 
        gpio.write(7, 0, function() {          // Set pin 7 low(0) 
            gpio.close(7);                     // Close pin 7 
        });
    });
}