Проблема в том, что обработчик then
ничего не возвращает:
.then(function (response) {
console.log(response);
})
Объяснение :
Вызов then
возвращает Обещание, которое будет решено/ отклоняется в зависимости от того, что происходит внутри функции обработчика.
В вашем случае обработчик ничего не возвращает (console.log(response)
), поэтому обещание, возвращаемое then
, разрешается с неопределенным значением, какрезультат:
.then(response =>
response.data.list.map(definition => ({
name: `${definition.definition}`,
id: `${definition.defid}`,
}))
)
получает неопределенное значение.
Чтобы исправить это, нужно либо:
1) вернуть response
в обработчик then
:
.then(function (response) {
console.log(response);
return response;
})
2) удалить из цепочки первый then
:
axios({
method: 'get',
url: 'https://mashape-community-urban-dictionary.p.rapidapi.com/define',
headers: {'host': 'mashape-community-urban-dictionary.p.rapidapi.com', 'X-RapidAPI-Key': 'keydata'},
params: {'term': 'world'}
})
.then(response =>
response.data.list.map(definition => ({
name: `${definition.definition}`,
id: `${definition.defid}`,
}))
)
, затем