Вам не нужно ждать, пока завершится обещание Axios?
См. Axios API
...
const response = axios
(
{
method : 'GET',
url:url,
responseType:'stream'
}
).then(function(response) {
response.data.pipe(fs.createWriteStream(path))
return new Promise((resolve,reject)=>{
response.data.on('end',()=>{
resolve()
})
...
Я полагаю, что в зависимости от уровня сценария вы можете сделать это с помощью async / await, но я не эксперт Axios.