免責聲明:我是一個新手的Node.js和下面的描述會很長......如何創建node.js中
我目前正試圖教自己Node.js加載了我追求的小項目。項目的想法如下:RaspberryPI運行Node.js應用程序,該應用程序允許我控制RGB LED燈條的顏色。應用程序應該能夠設置一個靜態顏色,並且還可以運行平滑改變顏色的色輪。
我的想法是,現在創建幾個Node.js的腳本:
- 「控制器」,做客戶的溝通,設置靜態顏色或者是能夠啓動的色輪
- 「客戶端腳本」每個運行一個色輪。在大多數人會是「活着」,開始/由「控制器」
我已經能夠創建一個小腳本叉另一個腳本,並能夠如下停止使用child.send
該腳本停止:
controller.js
var fork = require('child_process').fork,
test2 = fork(__dirname + '/test2.js');
setTimeout(function() { test2.send({func: 'quit'}); }, 5000);
這叉test2.js
腳本和5秒後發送quit
消息退出test2.js
。
test2.js
function runLoop()
{
console.log("Hello");
setTimeout(runLoop, 1000);
}
process.on('message', function(m) {
if (m.func === 'quit')
{
process.exit(0);
}
});
setTimeout(runLoop, 1000);
這種 「客戶端腳本」 打印 「Hello」 每秒直到控制器發送quit
消息。
這很有效 - 5秒鐘後腳本正常完成。
我現在的問題是:如果我實現了一個色輪,我需要一個可能無限循環來改變LED燈條的顏色。上面的(當然有更短的定時器值 - 我需要10ms這樣的東西)是實現可中斷循環的一種可行的方式,還是存在一些我還不知道的整潔機制?
感謝您向我展示這種相當優雅的做事方式。 :-)我明白你在做什麼,這個解決方案對我來說就像是在ColorChanger類中實現不同色輪類型的一種非常優雅的方式。 –