我正在使用V8 API创建JavaScript对象。其中一些对象通过在Symbol.iterator属性中设置本机(截获)函数来支持迭代。
通过迭代这样一个对象是非常有效的。但是,如果我将其包装在一个空代理(例如let x = new Proxy(obj, {});)中,则结果对象是不可迭代的,如果试图对其进行迭代,则抛出带有“非法调用”消息的TypeError。
我正在创建一个对外部API进行多次调用的项目。这些API调用是在类实例的方法中进行的。我正在尝试创建一个泛型函数,它接受这些对象的可迭代性,并为它们生成一个异步迭代器。然后,这个异步迭代器将用于使所有这些外部API调用异步运行。
然而,在下面我已经尝试过的情况下,执行时间仍然随着列表的长度线性增加。async for object in async_generator(iterable=list_o