大名鼎鼎的 request 库不维护了,虽然还能使用,但是作者不建议使用,翻了一下打算用 got 作为替代。
具体见
安装 got 依赖
yarn add got
使用
import { promisify } from 'util';
import stream from 'stream';
import fs from 'fs-extra';
import got from 'got';
const pipeline = promisify(stream.pipeline);
pipeline(
got.stream('http://xxx.com/xxx.zip'),
fs.createWriteStream('xxx.zip')
).then(() => {
console.log('文件下载成功');
});
后记
发现 got 官方 demo 里的有些方法没用过,后面要抽时间了解一下。
- util.promisify(original) 将回调转换为 promise 返回,看上去不错啊
- stream.pipeline 一种在流和生成器之间传递管道的模块方法,用于转发错误并正确清理并在管道完成时提供回调。