:
dataservices.picturesLayoutService = function() {
function buildPicturesLayout(divImageContainer) {
$.getJSON(function(data) {
//read images url
// Pop our HTML in the #images DIV
$("#" + divImageContainer).html(htmlString);
});
}
return {
buildPicturesLayout: buildPicturesLayout
};
}();
내가 이런 식으로 함수를 호출 :
이
dataservices.pictureFeedService = function() {
function searchForPictures(searchFilterEntry, callback) {
var query = "http://www.flickr.com/services/feeds/photos_public.gne?tags=" + searchFilterEntry + "&format=json&jsoncallback=?";
$.getJSON(query,callback);
}
return {
searchForPictures: searchForPictures
};
}();
이, 나는 이전 JSON에서 얻은 데이터를 사용하는 두 번째 함수하고자한다 : 이것은 이미 한 일이다
같은 것을 시도하십시오
dataservices.picturesLayoutService = function() {
function buildPicturesLayout(divImageContainer, data) {
$("#" + divImageContainer).empty();
//iterate through the items and create a list
$.each(data.items, function (i, item) {
$("#" + divImageContainer).append('<img src="' + item.media.m + '" />');
})
}
return {
buildPicturesLayout: buildPicturesLayout
};
}();
//write a callback function which will receive the ajax response and pass it to the buildPicturesLayout method
dataservices.pictureFeedService.searchForPictures(searchTags, function (data) {
dataservices.picturesLayoutService.buildPicturesLayout("images", data)
});
당신은 지나가고 있습니다. 'dataservices.picturesLayoutService.buildPicturesLayout ("images")'를 콜백 함수로 사용하십시오. "이미지"문자열은 첫 번째 getJson 호출 결과를 얻고 있음을 보여주는 자리 표시 자입니까? –
jquery promise 또는 Q 라이브러리를 체크 아웃 할 수 있습니다. 이 시나리오를 다루기가 더 쉬워졌습니다. – lucuma