리스트 기능을 구현하던 중 allocation size overflow 오류가 발생하였다.
문제의 코드는 아래와 같다.
이 함수는 목록을 요청한 경우 호출되는 함수이며 printForm 변수 선언부가 문제가 되었다.
이 변수에 할당되는 값은 특정 요소내의 HTML 코드를 읽어온 것인데 잦은 요청이 발생하며 이부분을 함수 외부에 선언하여 문제를 해결할 수 있었다.
function ptselectImageList() {
...생략...
var promise = ptselectContentsList(); //콘텐츠 목록 가져오기
promise.done(function(result){
var length = $('.section-photos-sub .flex-container li').length;
$('.section-photos-sub .flex-container li:lt('+(length-1)+')').remove();
if (result.dataList != null) {
var printForm = $('.section-photos-sub .flex-container').last().html();
$.each(result.dataList, function(idx, data) {
$('.section-photos-sub .flex-container').prepend(printForm); //목록 추가처리
$('.section-photos-sub .flex-container li:first').removeClass('hidden');
$('.section-photos-sub .flex-container li:first').attr('data-seq',data.seq);
$('.section-photos-sub .flex-container li:first .title a').text(data.title);
});
}
});
}