new Promise(응용)2
new Promise & ajax 사용하기
$(function(){
var datas;
// Promise 정의1
var fileA = function(){
var promise = new Promise(function(resolve, reject){
$.ajax('https://firebaseID.firebaseio.com/items/api.json')
.done(function(response){
resolve(response);
}).fail(function(){
reject('에러 메시지');
});
});
return promise;
};
var templates = (datas) => {
datas.forEach((data) => {
var template = '';
template += '<li class="main__card wow fadeIn">';
template += '<div class="main__card--bg">';
template += '<figure>';
template += '<img class="thumb card__img" src="'+data.img+'" alt="상품이미지" />';
template += '<figcaption>';
template += '<h2 class="card__title">'+data.title+'</h2>';
template += '<p class="card__text">'+data.text+'</p>';
template += '<div class="card__footer">';
template += '<p class="card__text card__text--secondary">'+data.name+'</p>';
template += '</div> </figure> <figcaption> </div> </li>';
$('body').append(template);
});
};
//위에서 정의한 내용이 Promise 수행이 되고 나서(then) 실행을 한다.
fileA().then((data) => {
datas = data;
templates(datas); //response 값 출력
});
});
Last updated