первый раз долгое время здесь. Я только недавно начал программирование в javascript, я столкнулся с вопросом дизайна.Функции обратного вызова, которые ссылаются друг на друга? Вложенные операторы if? Необходимость руководство
У меня есть рабочий код, который: 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);
};