为什么zlib.deflate(buf,callback)是asynchronous的?

当接受input缓冲区,并知道压缩是一个CPU绑定的任务,是否需要提供callback? 是否只是像callback(err, result)一样遵循惯例?

Doc: http : //nodejs.org/api/zlib.html#zlib_zlib_deflate_buf_callback

压缩/解压缩在单独的线程中执行,而不在主线程中执行。 这就是线程完成工作时需要callback的原因。

callback风格是在整个节点和大多数第三方模块中使用的通用签名(错误优先)。