Как правильно использовать значение, возвращаемое обещанием, и отображать его - PullRequest
0 голосов
/ 10 мая 2019

поэтому я сейчас пытаюсь вернуть значение, полученное из обещания.Возвращенные данные - это массив, который мне нужно перебрать, чтобы получить правильное значение из определенного условия.Вот код.

  const currency = await getCurrency().then(({ data }) => {

      data.map(({ default, code }) => {
        if (default){
        return code
      }
    })
  }
    return { pageProps, categories, currency };
  }

Как и просили, код getCurrency

export const getCurrency = () => Moltin.Currencies.All();

Я почти на 98% уверен, что моя проблема исходит из синтаксиса!Спасибо за помощь

Ответы [ 3 ]

1 голос
/ 10 мая 2019

В вашем коде есть некоторые проблемы

Вы не можете использовать default, потому что это зарезервированное ключевое слово для javascript.
Проверьте этот ответ, чтобы понять, как его решить.

В вашем случае вы можете сделать

  data.map(({ default: dev, code }) => {
    if (dev){
    return code
  }
}) 
0 голосов
/ 10 мая 2019

Если вы хотите получить некоторые значения с некоторыми условиями, я бы рекомендовал вам использовать фильтр вместо карты. Карта только преобразует данные, а фильтр возвращает элементы на основе условия.

Например:

 const currency = await getCurrency().then(({ data }) => {

      data.filter(({ default, code }) => // some condition )
  }
    return { pageProps, categories, currency };
  }
0 голосов
/ 10 мая 2019

Если getCurrency () возвращает обещание, и вы используете await, вам не нужно использовать .then ().Переменная под названием currency будет содержать значение, возвращаемое из обещания..then () используется только в средах, которые не поддерживают синтаксис async / await.

...