0%

JS 使用 GOT

大名鼎鼎的 request 库不维护了,虽然还能使用,但是作者不建议使用,翻了一下打算用 got 作为替代。

具体见

安装 got 依赖

1
yarn add got

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
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 一种在流和生成器之间传递管道的模块方法,用于转发错误并正确清理并在管道完成时提供回调。