1
Zur Zeit habe ich ein Problem wie unten.Warten Sie auf das Ereignis, bevor Sie fortfahren
Ich erstelle eine Funktion für die Behandlung von Wiederholungen.
function retry(fn, maxTimes) {
const attempt = async (time) => {
try {
const result = fn()
return (result && result.then) ? await result : result
}
catch (err) {
if (time === maxTimes) throw err
return await attempt(++time)
}
}
return attempt()
}
Und ich habe eine andere Methode wie
_handleData(data) {
throw new Error('this is error')
}
const data = ''
const start =() => {
this.item.on('data', ::this._handleData)
this.item.write(data) // trigger event data
}
try {
await retry(start, MAX_RETRY_TIMES)
}
catch (err) {
console.log('error', err)
}
Aber funktionieren start
nicht Wiederholungs tun. Kann ich dieses Problem irgendwie lösen?
Teilen, nicht klar, ob 'data' Ereignis ausgelöst wird immer –
@MedetTleukabiluly this.item.write (Daten) Mit diesem Befehl Trigger Ereignisdaten über – codeaholicguy
Das ganze' zurück (Ergebnis && Ergebnis.dann)? erwarten Ergebnis: Ergebnis sollte nur 'Ergebnis zurückgeben' sein. – Bergi