title: Saving GET result in a text file ends up in infinite loop
body: <p>I've been trying to save a String I get from a GET request into a text file. For some reason, it ends up in an infinite loop and if I don't use <code>created()</code>, it doesn't work at all, <code>story</code> just stays empty.</p>
  
  <pre><code>&lt;div id="app"&gt;
      &lt;p&gt;{{story}}&lt;/p&gt;
      &lt;a id="link" v-bind:href="url" target="_blank" download="file.txt"&gt;Download&lt;/a&gt;
  &lt;/div&gt;
  
  &lt;script&gt;
      var str = {
          data: function () {
          return {
            story: '',
            file: null,
          }
      },
      methods: {
          async getStory(id) {
            var req = 'http://localhost:8080/api/story/' + id
            try {
              const response = await axios.get(req);
              return response.data.story;
            } catch (error) {
              console.error(error)
            }
            return false;
          },
          async getLetter() {
            var story = await this.getStory(this.$route.params.id);
            this.story = letter;
          },
          textFile() {
            var data = [];
            console.log(this.story);
            data.push(this.story);
            var properties = {
              type: 'text/plain'
            };
            try {
              this.file = new File(data, "file.txt", properties);
            } catch (e) {
              this.file = new Blob(data, properties);
            }
            this.url = URL.createObjectURL(this.file);
          }
        },
        created() {
          this.getLetter();
        },
        updated() {
          this.textFile();
        }
      }
  &lt;/script&gt;
  </code></pre>
  
  <p>Is it even wise to use the HTML5 feature to save files? </p>