2013-03-14 6 views
0

Пытается проанализировать некоторые данные JSON с живым потоком и посмотреть, имеет ли событие определенный тег. Если это не то я буду использовать эти данные для вывода значений и т.д.Возврат объекта JSON из функции Javascript

по какой-либо причине, upcoming_event не быть присвоен объект события (который является возвращаемым значением функции findPublicEvent.

console.log объекта события работает отлично - но возвращение не работает.:/

// get our NLC data from livestream. 
// -> note: need the '?callback=?' to convert to JSONP for cross-domain usage 
var $uri = 'http://api.new.livestream.com/accounts/newlifechurchtv/?callback=?'; 
$.getJSON($uri, function(data) { 
    parseNLCData(data); 
}); 

parseNLCData = function(nlc_data){ 
    // set our variable to the return first event 
    // nlc_data.upcoming_events.data is a json array of events 
    window.upcoming_event = findPublicEvent(nlc_data.upcoming_events.data); 
} 

// should return single public event 
function findPublicEvent (all_events) { 
    // if we have events 
    if (all_events) { 
    // loop through events to find public event 
    $.each(all_events, function(index,value){ 
     // get all the tags, remove whitespace, and put into array 
     var $tags = value.tags.replace(/ /g, '').toLowerCase().split(','); 
     // check for privacy. 
     var $privacy = $.inArray('private', $tags); 
     if ($privacy === -1) { 
     // if the event isn't private -> return it! 
     console.log(value); 
     return value; 
     } 
    }); 
    // otherwise .... -> 
    } else { 
    // we don't have events, sooo, no dice. 
    return false; 
    } 

}; 

ответ

3

findPublicEvent не возвращает его анонимная функция вы передаете each возвращает его

.

Поскольку это возвращаемое значение findPublicEvent, которое вы снимаете, вы не можете увидеть его.

  1. Определить переменную в рамках findPublicEvent
  2. Присвоить ему значение из внутри анонимной функции (с помощью обычного назначения, а не возврат)
  3. Возвращение этой переменной из findPublicEvent
+0

Большое спасибо за вашу помощь @Quentin! работает как шарм: D – watts