Сначала я использую async и очень часто жду и получаю эту ошибку:
RangeError: Value undefined out of range for undefined options property undefined
at Set.add (<anonymous>)
at AsyncHook.init (internal/inspector_async_hook.js:19:25)
at PromiseWrap.emitInitNative (internal/async_hooks.js:134:43)
И я не знаю, как я могу это исправить, я пишу свой код полностью в Typescript, и я не создал файл, которыйназывается 'async_hooks'.
И я не запускаю более 10 асинхронных функций одновременно, я использую await очень часто, поэтому он не должен складываться, но javascript, похоже, не уменьшает asyncId и не достигает предела числа очень быстро.
Я пытался использовать меньше асинхронного ожидания, но это не решило проблему, но ошибка появляется позже. Если я использую меньше асинхронного ожидания, я могу предотвратить появление этой ошибки, пока функция не завершит работу. (Я использую Electron 7)
Кажется, что у Electron очень низкий асинхронный пул, но он может быть воспроизведен с помощью стандартного машинописного кода:
class Test {
private async testCompare(a,b):Promise<boolean> {
return a == b;
}
public async testRun():Promise<void> {
for (let index = 0; index < 999999999; index++) {
for (let index2 = 0; index2 < 999999999; index2++) {
await this.testCompare(index,index2)
}
}
}
}
new Test().testRun();
Этот код очень часто используется в оперативной памяти, иЯ думаю, у меня та же проблема в моей программе. Я думаю, что асинхронный пул заполняется, пока не достигнет своего предела.