Как написать функцию без использования async / await? - PullRequest
0 голосов
/ 25 июня 2018

У меня есть функция ниже: https://github.com/anaida07/MEVN-boilerplate/blob/master/client/src/components/EditPost.vue

methods: {
  async getPost () {
    const response = await PostsService.getPost({
      id: this.$route.params.id
    })
    this.title = response.data.title
    this.description = response.data.description
  // this.$router.push({ name: 'Posts' })
},

Я узнаю о MEVN.Я хотел знать, есть ли возможность написать ту же функцию без использования async / await.В настоящее время у меня появилось следующее:

methods: {
  getPost () {
    const response = PostsService
    .getPost({
      id: this.$route.params.id
    })
    this.title = response.data.title
    this.description = response.data.description

   //this.$router.push({ name: 'Posts' })
},

Но в журнале консоли я получаю сообщение об ошибке: Ошибка в подключенном хуке: «TypeError: response.data не определено».Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 25 июня 2018

Похоже, PostsService расширяет оси, поэтому вы можете использовать его как обещание:

methods: {
  getPost () {
    PostsService
      .getPost({
        id: this.$route.params.id
      })
      .then(({data}) => {
        this.title = data.title
        this.description = data.description
        this.$router.push({ name: 'Posts' })
      }

},

Причиной вашей ошибки было то, что response = PostsService.getPosts() фактически не заполняет переменную ответаданные.Сначала он должен выполнить запрос, затем вы можете получить к нему доступ в обратном вызове в .then()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...