<分区>
我正在尝试发送网络数据。本质上,我使用的库对消息大小有 16kb 的限制,因此我必须分解较大的消息并将它们分成 block 发送。我的代码的真正简化版本可能如下所示:
function sendInChunks(buffers) {
send(buffers.shift()).then(sendInChunks.bind(undefined, buffers));
}
使用这样的递归实现,我可以发送的数据量受到代码运行平台的堆栈深度限制。我想知道是否有一种方法可以在不受堆栈深度限制的情况下发送我的数据?
注意:在我现在的实际实现中,我实际上是在调用发送后使用相互递归来做一些检查。这两个函数中还使用了来自更高范围的一些状态,但希望不会有太大变化。
编辑:我正在使用 es6 promise 。