Тебе надо
изучить, что такое асинхронность, что такое
Promise, что такое
async\
await. Без этого ты никуда не уедешь.
Тебе надо делать либо так:
this.svg = await getFileContent(url), либо так
getFileContent(url).then(a => this.svg = a).
Promise всегда возвращает
Promise. Тебе надо дождаться выполнения
Promise'а тем или иным способом.
Если ты делаешь так
this.svg = getFileContent(url) - конечно у тебя в
this.svg лежит
Promise. Этот
Promise только начинает выполнение и никаких данных там нет. Данные в него прилетят возможно через час, если ты на модеме.
К Vue вопрос отношение не имеет.