1
目前我有像下面这样的问题。继续处理之前等待事件
我创建了一个处理重试的函数。
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()
}
而且我有喜欢
_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)
}
另一种方法,但功能start
不做重试。有什么办法可以解决这个问题吗?
分享更多的代码解决,尚不清楚是否'data'事件被触发过 –
@MedetTleukabiluly this.item.write(数据)这个命令触发事件数据上面 – codeaholicguy
那整个'返回(result && result.then)?等待结果:result'应该只是'return result'。 – Bergi