Я работаю над проектом со следующим технологическим стеком: Angular, Ionic, Cordova. При загрузке файла в Dropbox мне нужно проверить, находится ли он на диске или нет. Если файл уже существует на диске, мне нужно его переименовать. Я использую (https://www.dropbox.com/developers/documentation/http/documentation#files-get_metadata) для проверки существования файла. Логика такова: если этот метод возвращает ошибку, то такого файла нет, и я загружаю его. Если метод возвращает метаданные, файл должен бытьпереименован. При таком подходе запрос к консоли выдаст ошибку (это естественно). Есть ли альтернатива такому подходу, который не дал бы ошибку консоли? Это кусок кода, который реализует этот подход.
async getNewFileName(fileName: string): Promise<string> {
const { name, extension } = getNameExtension(fileName);
for (let i = 0;; i++) {
const tmpName = i ? `${name}(${i}).${extension}` : fileName;
if (!await this.checkDropBoxFile(tmpName)) {
return tmpName;
}
}
return fileName;
}
async checkDropBoxFile(fileName: string): Promise<any> {
const dbx = this.getDropbox();
try {
const res = await dbx.filesGetMetadata({ path: '/' + fileName });
return res;
} catch (e) {
return false;
}
}