use try&catch

This commit is contained in:
SrGooglo 2023-07-20 13:43:15 +00:00
parent 5646510a22
commit 8cf613fbe6

View File

@ -4,35 +4,36 @@ import axios from "axios"
export default async (payload) => {
return new Promise(async (resolve, reject) => {
let { url, destination } = payload
try {
let { url, destination } = payload
// if destination path is not provided, use cache folder
if (!destination) {
destination = path.resolve(global.uploadCachePath, path.basename(url))
// if destination path is not provided, use cache folder
if (!destination) {
destination = path.resolve(global.uploadCachePath, path.basename(url))
}
const writer = fs.createWriteStream(destination)
if (!writer) {
return false
}
const response = await axios({
url,
method: "GET",
responseType: "stream"
})
response.data.pipe(writer)
writer.on("finish", () => resolve({
destination,
delete: () => fs.unlinkSync(destination),
read: () => fs.readFileSync(destination),
}))
writer.on("error", reject)
} catch (error) {
reject(error)
}
const writer = fs.createWriteStream(destination).catch((err) => {
reject(err)
return false
})
if (!writer) {
return false
}
const response = await axios({
url,
method: "GET",
responseType: "stream"
})
response.data.pipe(writer)
writer.on("finish", () => resolve({
destination,
delete: () => fs.unlinkSync(destination),
read: () => fs.readFileSync(destination),
}))
writer.on("error", reject)
})
}