Update bất đồng bộ
This commit is contained in:
parent
da8c0f418b
commit
f71f18393e
|
|
@ -665,7 +665,7 @@ export class WebSocketIo {
|
|||
action: LineAction,
|
||||
options: HandleOptions = {}
|
||||
): Promise<void> {
|
||||
for (const lineId of lineIds) {
|
||||
lineIds.forEach(async (lineId) => {
|
||||
try {
|
||||
const line = this.lineMap.get(lineId)
|
||||
// console.log(line?.config)
|
||||
|
|
@ -675,45 +675,45 @@ export class WebSocketIo {
|
|||
// await sleep(500)
|
||||
await action(line, options)
|
||||
} else {
|
||||
if (this.lineConnecting.includes(lineId)) continue
|
||||
|
||||
const linesData = await Line.findBy('id', lineId)
|
||||
const stationData = await Station.findBy('id', stationId)
|
||||
io.emit('line_connecting', {
|
||||
stationId,
|
||||
lineId,
|
||||
})
|
||||
if (linesData && stationData) {
|
||||
this.lineConnecting.push(lineId)
|
||||
await this.connectLine(
|
||||
io,
|
||||
[linesData],
|
||||
stationData,
|
||||
line?.config?.output || '',
|
||||
line?.config?.inventory || ''
|
||||
)
|
||||
this.lineConnecting = this.lineConnecting.filter((el) => el !== lineId)
|
||||
|
||||
const lineReconnect = this.lineMap.get(lineId)
|
||||
if (lineReconnect) {
|
||||
this.setTimeoutConnect(lineId, lineReconnect)
|
||||
await sleep(100)
|
||||
await action(lineReconnect, options)
|
||||
}
|
||||
} else {
|
||||
io.emit('line_disconnected', {
|
||||
if (!this.lineConnecting.includes(lineId)) {
|
||||
const linesData = await Line.findBy('id', lineId)
|
||||
const stationData = await Station.findBy('id', stationId)
|
||||
io.emit('line_connecting', {
|
||||
stationId,
|
||||
lineId,
|
||||
status: 'disconnected',
|
||||
})
|
||||
io.emit('line_error', { lineId, error: 'Line not connected\r\n', stationId })
|
||||
if (linesData && stationData) {
|
||||
this.lineConnecting.push(lineId)
|
||||
await this.connectLine(
|
||||
io,
|
||||
[linesData],
|
||||
stationData,
|
||||
line?.config?.output || '',
|
||||
line?.config?.inventory || ''
|
||||
)
|
||||
this.lineConnecting = this.lineConnecting.filter((el) => el !== lineId)
|
||||
|
||||
const lineReconnect = this.lineMap.get(lineId)
|
||||
if (lineReconnect) {
|
||||
this.setTimeoutConnect(lineId, lineReconnect)
|
||||
await sleep(100)
|
||||
await action(lineReconnect, options)
|
||||
}
|
||||
} else {
|
||||
io.emit('line_disconnected', {
|
||||
stationId,
|
||||
lineId,
|
||||
status: 'disconnected',
|
||||
})
|
||||
io.emit('line_error', { lineId, error: 'Line not connected\r\n', stationId })
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (err: any) {
|
||||
this.lineConnecting = this.lineConnecting.filter((el) => el !== lineId)
|
||||
io.emit('line_error', { lineId, error: `\n[ERROR] ${err.message}\n`, stationId })
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private async connectApc(socket: any, apcName: string, station: Station) {
|
||||
|
|
|
|||
|
|
@ -162,7 +162,9 @@ const TerminalCLI: React.FC<TerminalCLIProps> = ({
|
|||
terminal.current?.write(initContent);
|
||||
setIsInit(true);
|
||||
if (!miniSize && !isDisabled) terminal.current?.focus();
|
||||
terminal.current.scrollToBottom();
|
||||
setTimeout(() => {
|
||||
if (terminal.current) terminal.current.scrollToBottom();
|
||||
}, 100);
|
||||
if (terminal.current.options.theme) {
|
||||
const textColor =
|
||||
localStorage.getItem("terminal-text-color") || "#41ee4a";
|
||||
|
|
|
|||
Loading…
Reference in New Issue