我曾經需要從互聯網上下載文件,而且還想使用await
以簡單的方式在完成後做其他事情。
您可以使用Axios達到這個目的。
import axios from 'axios'
然後寫一個像這樣的download()
函數:
async function download(url, filepath) {
const response = await axios({
url,
method: 'GET',
responseType: 'stream',
})
return new Promise((resolve, reject) => {
response.data
.pipe(fs.createWriteStream(filepath))
.on('error', reject)
.once('close', () => resolve(filepath))
})
}
然後使用以下方式調用:
const remote_url = 'https://...'
const local_path = './images/test.png'
await download(remote_url, local_path)