解决功能中的承诺

时间:2020-03-09 18:14:41

标签: javascript reactjs promise jsx

我无法兑现这一诺言。

const getAge = (actorId) => {
    return (
        axios.get(`https://api.themoviedb.org/3/person/${actorId}?api_key=${process.env.REACT_APP_API_KEY}&language=en-US`)
            .then(function (response) {
              return moment().diff(response.data.birthday, 'years')
            })
            .catch(function (error) {
              console.log(error);
            })
        )
    }

console.log(getAge('5000'), 'FUNCTION')

它永远无法解决承诺并返回待处理状态

enter image description here

我尝试了许多不同的想法,但似乎没有一个可行。我想念什么?

谢谢

1 个答案:

答案 0 :(得分:7)

您需要调用.then来获取值或将调用包装在异步函数中。例如:

getAge('5000')
  .then(val => console.log(val, 'FUNCTION'));

或者,用async包装:

(async () => {
  const val = await getAge('5000');
  console.log(val, 'FUNCTION');
})();