Вернуть значение функции js мне [дубликат]

189
03 марта 2018, 18:36

На данный вопрос уже ответили:

  • Как вернуть значение из события или из функции обратного вызова? Или хотя бы дождаться их окончания 3 ответа

Друзья, подскажите пожалуйста новичку, как вернуть значение out'a ? фактически есть имена twich каналов- данная функция хотелось бы чтобы возвращала массив json объектов полученных по данных именам channels

function getMasApi(mas) { 
  var out = []; 
  mas.forEach(function(el, i) { 
    $.getJSON(api + el, function(json) { 
      //console.log(json); 
      out.push(json); 
      //console.log(out); 
    }); 
  }); 
  console.log(out); 
  return out; 
}; 
 
var channels = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"]; 
 
let api = "https://wind-bow.glitch.me/twitch-api/channels/"; 
 
getMasApi(channels);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Answer 1

const getChannelsArray = () => { 
    const channels = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"]; 
    let channelArray = []; 
 
      channels.forEach((channel) => { 
          $.getJSON(`https://wind-bow.glitch.me/twitch-api/channels/${channel}`, (data) => { 
            channelArray.push(data); 
             
            // Для наглядности вызову функцию, которая отобразит результаты (одно свойство объекта в качестве примера) на странице 
            viewResult(data.name); 
          }) 
      }); 
 
      return channelArray; 
    } 
 
    const out = getChannelsArray(); //нужный вам массив 
 
    //Функция отображения данных на странице (для наглядности) 
    function viewResult(data) { 
      $('.text').append(`<li>${data}</li>`);  
    }
<ul class="text"></ul> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

READ ALSO
Как привязать высоту блока к его ширине?

Как привязать высоту блока к его ширине?

Как привязать высоту блока к его ширине? (не к ширине окна, а именно ширине блока)

173
Практика Codebra: перенос строки в HTML

Практика Codebra: перенос строки в HTML

Всем привет, хотел бы задать вопрос новичкаПрохожу курс html на codebra, застрял на одном практическом задании

311
Возможно ли вырезать из макета png картинку без потери качества?

Возможно ли вырезать из макета png картинку без потери качества?

Есть ли способ вырезать png из макета что бы при увеличении области страницы не было такой заметной потери качества? Дело обстоит с логотипом...

139
Правильное название классов в CSS

Правильное название классов в CSS

Почему часто утверждают, что название классовpage-head {}

186