Тебе надо
изучить, что такое асинхронность, что такое
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 вопрос отношение не имеет.