Как мне разобрать объект в массиве в Javascript - PullRequest
0 голосов
/ 02 мая 2018
const params = {
    entity: 'musicTrack',
    term: 'Muzzy New Age',
    limit: 1
};

searchitunes(params).then(console.log);

Я хочу, чтобы searchitunes(params).then(console.log) была переменной, а не была зарегистрирована.

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Просто получите доступ к нему внутри обработчика then:

 searchitunes(params).then(result => {
   // Use result here
 });

Или используя async / await:

 (async function() {
   const result = await searchitunes(params);
   // Use result here
 })();
0 голосов
/ 02 мая 2018

Если предположить, что это соответствует обычной структуре обещаний Javascript , тогда console.log - это просто функция, переданная в него, как и любая другая. Таким образом, вы можете просто использовать свою собственную функцию, где вы обращаетесь к ответу напрямую как к переменной:

searchitunes(params).then(function(response) {
    //Your result is now in the response variable.
});

Или, если вы предпочитаете более новый лямбда-синтаксис (они идентичны):

searchitunes(params).then(response => {
  //Your result is now in the response variable.
});

Согласно комментарию, вы можете получить URL обложки, просто пройдя объект так же, как и любой другой объект, поэтому:

var artworkurl = response.results[0].artworkUrl100;

Оттуда вы можете использовать AJAX для получения содержимого этого URL или просто создать элемент img, который указывает на него .

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