久しぶりにここ。最近JavaScriptでプログラミングを始めたばかりで、デザインの問題に直面しています。
1. シリアル ポートからの特定の入力を待機します。2. 入力が見つかると、次の関数に移動します。3. 次の関数は、シリアル ポートを介してコマンドを送信し、再び入力を待ちます。
これで、stepone() steptwo() など 9 つの関数が定義されました。これを行うには、もっと良い方法が必要です。各関数は、必要な入力と出力の変数が異なることを除いて同じです。
ただし、プログラムにステップをスキップさせたくありません。次のコマンドを送信する前に、正しいシリアル入力を待つ必要があります。
お互いを参照するコールバック関数を使用しようとしましたが、どうやら間違っているようです。また、うまくいきません。コマンドを送信する前に正しい入力を待ちません。
var waitforinput = function(input, regex, callback)
{
if (regex.search != -1)
callback();
};
var sendcommand = function(command,callback)
{
port.writeline(command);
if (callback)
callback();
};
var connect = function()
{
var int = setInterval(function()
{
waitforinput(input, "Please choose:", function()
{
sendcommand("1", function()
{
waitforinput(input, "You choosed", function()
{
sendcommand("saveenv 1");
});
});
});
},50);
};