const customers = ["Max", "Zoe", "Taemin"];
const activeCustomers = ["Max", "Zoe"];
const inactiveCustomers = _.difference(customers, activeCustomers);
console.log(inactiveCustomers); // "Taemin"
jQuery로 참고로 봐두자. 이는 DOM을 더 수월하게 접근하기 위해서 과거에 유명했던 라이브러리이다!
async function fetchPosts() {
try {
const response = await axios.get(
// 항상 get 요청을 함
// axios는 항상 Promise를 리턴.
"https://jsonplaceholder.typicode.com/posts"
);
console.log(response); // 데이터 필드에서 우리가 사용할 수 있는 데이터 자체가 있다.
const listOfPosts = response.data;
for (const post of listOfPosts) {
const postEl = document.importNode(postTemplate.content, true);
postEl.querySelector("h2").textContent = post.title.toUpperCase();
postEl.querySelector("p").textContent = post.body;
postEl.querySelector("li").id = post.id;
listElement.append(postEl);
}
} catch (error) {
alert(error.message);
console.log(error.response); // 어떤 응답이 오류를 발생시키는지..
}
}
async function createPost(title, content) {
const userId = Math.random();
const post = {
title: title,
body: content,
userId: userId,
};
const fd = new FormData(form);
// fd.append('title', title);
// fd.append('body', content);
fd.append("userId", userId);
const response = await axios.post(
"https://jsonplaceholder.typicode.com/posts",
fd // Post : JSON, fd : form data
);
console.log(response);
}
postList.addEventListener("click", (event) => {
if (event.target.tagName === "BUTTON") {
const postId = event.target.closest("li").id;
axios.delete(`https://jsonplaceholder.typicode.com/posts/${postId}`); // method 전달 없이 delete만 사용.
}
});
axios.getaxios.postaxios.delete