Wenn Sie eine Sekunde anhalten wollen, nachdem der HTTP-Anforderung abgeschlossen ist, bevor die nächste starten, dann können Sie setTimeout()
im Abschluss Rückruf verwenden.
Und da sieht es jetzt wie Sie eine Folge von Codes senden möchten, können Sie in der Reihenfolge der Codes übergeben Sie in einem Array gesendet werden soll und diese that.createIRRC()
für jeden folgenden Code aufrufen wird:
function sendSequence(cntr, data, delay) {
// create post_data for next code to send in the sequence
let post_data = that.createIRRC(data[cntr]);
that.makeHttpRequest(onError, function() {
// if we haven't done this limit times yet, then set a timer and
// run it again after one second
if (++cntr < data.length) {
setTimeout(function() {
sendSequence(cntr, data, delay);
}, delay);
} else {
onSuccess();
}
}, "", post_data,false);
}
// define the codes
// this should probably be done once at a higher level where you can define
// all the codes you might want to send so you can reference them by a meaningful
// name rather than an obscure string
let codes = {
right: "AAAAAQAAAAEAAAAzAw==",
down: "AAAAAQAAAAEAAABlAw==",
select: "AAAAAQAAAAEAAABlAw==",
options: "AAAAAgAAAJcAAAA2Aw==",
hdmi2: "AAAAAgAAABoAAABbAw==",
hdmi3: "AAAAAgAAABoAAABcAw=="
}
// create sequence of codes to be sent
let dataSequence = [
codes.hdmi2, codes.options,
codes.down, codes.down, codes.down, codes.down, codes.down, codes.down, codes.down,
codes.right,
codes.down, codes.down, codes.down, codes.down,
codes.select, codes.hdmi3
];
// start the process with initial cnt of 0 and
// send the sequence of data to be sent and
// with a one second delay between commands
sendSequence(0, dataSequence, 1000);
Zeigen Sie uns den Versuch mit dem 'setTimeout', bitte – Bergi