Что-то вокруг этой строки будет частично распараллеливать выполнение.
Promise.all
позволяет вам ожидать параллельный массив ожидающих обещаний.
так что здесь я произвольно упаковал все ваши записи, но затеммы потеряли безопасность их последовательного запуска.Таким образом, вы должны распараллелить то, что безопасно, и дождаться, когда вам понадобится неуверенность, вы можете перейти к следующему шагу.
var i
await Promise.all([
write(
'video_transmitter.transmitter_assignment',
'interface_command',
'network_interfaces.ports[0].virtual_interfaces[0]',
),
...Array(20)
.fill()
.map(() =>
dispatch_change_request(
'video_transmitter.transmitter_assignment',
'create_transmitter',
'Click',
),
),
])
var number = 2
var MC_Adresses_Red = []
var MC_Adresses_Blue = []
var i
for (i = 0; i < 20; i++) {
MC_Adresses_Red[i] =
'239.1' + number + '.11.' + (i + 1) + ':' + (10000 + (i + 1))
MC_Adresses_Blue[i] =
'239.2' + number + '.11.' + (i + 1) + ':' + (20000 + (i + 1))
}
var i
for (i = 0; i < 20; i++) {
await Promise.all([
write(
'video_transmitter.pool[' + i + ']',
'transport_format_command',
'ST2110_GPM',
),
write(
'video_transmitter.pool[' + i + '].constraints',
'max_bandwidth_command',
'b3_0Gb',
),
write(
'video_transmitter.pool[' + i + '].constraints',
'standard_command',
null,
),
dispatch_change_request(
'video_transmitter.pool[' + i + ']',
'add_new_output',
'Click',
),
write(
'video_transmitter.pool[' + i + '].output_port[0]',
'interface_command',
'network_interfaces.ports[0].virtual_interfaces[0]',
),
write(
'video_transmitter.pool[' + i + '].output_port[1]',
'interface_command',
'network_interfaces.ports[1].virtual_interfaces[0]',
),
write(
'video_transmitter.pool[' + i + '].output_port[0]',
'mc_address_command',
MC_Adresses_Red[i],
),
write(
'video_transmitter.pool[' + i + '].output_port[1]',
'mc_address_command',
MC_Adresses_Blue[i],
),
write('video_transmitter.pool[' + i + ']', 'active_command', true),
])
}