第一次在这里很久。我最近才开始用 javascript 编程,我遇到了一个设计问题。
我有一些工作代码:1.等待来自串行端口的特定输入,2.找到输入后,它会移动到下一个函数。3. 下一个函数通过串口发送命令,然后再次等待输入。
现在我有 9 个函数定义为 stepone() steptwo() 等......必须有更好的方法来做到这一点。除了所需的输入和输出变量不同外,每个函数都是相同的。
但是,我不希望程序跳过步骤。在发送下一个命令之前,它需要等待正确的串行输入。
我尝试过使用相互引用的回调函数,它似乎......错了?此外,它不起作用。它不会在发送命令之前等待正确的输入。
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);
};