Skip to content

Instantly share code, notes, and snippets.

@ohoroyoi
Created July 13, 2019 08:17
Show Gist options
  • Save ohoroyoi/eda3a17301ff5ffdcf2882eb96a141b7 to your computer and use it in GitHub Desktop.
Save ohoroyoi/eda3a17301ff5ffdcf2882eb96a141b7 to your computer and use it in GitHub Desktop.
samjeon_react.js
// // callback
// function add(a, b){
// return a + b;
// }
// function addFour(x, f){ // 인자로 함수를 받는 형태
// return f(x, 4);
// }
// const value = addFour(1, add);
// console.log(value);
// const getTime = (callback) => {
// // setTimeout(()=> {
// // // console.log(new Date().getSeconds());
// // callback(new Date());
// // }, 2000);
// callback('안녕');
// }
// getTime((message)=>{
// console.log(message);
// });
///////////////////////////////////////////////
// $.getJSON('https://jsonplaceholder.typicode.com/todos/1', (data) => {
// console.log(data);
// });
// const getTodos = (id, onSuccess) => {
// $.getJSON(`https://jsonplaceholder.typicode.com/todos/${id}`, (data) => {
// // console.log(data);
// onSuccess(data);
// });
// };
// getTodos('1', (data) => {
// console.log(data);
// });
///////////////////////////////////////////////
// const todosPromise = new Promise((resolve, reject) => {
// const condition = Math.random() > 0.5; //true or false
// return condition ? resolve('성공했어요') : reject('실패했어용');
// });
// // console.log(todosPromise);
// todosPromise.then((data) => {
// console.log(data);
// }).catch((err)=>{
// console.log(err);
// });
///////////////////////////////////////////////
const getTodos = (id) => {
return new Promise((resolve, reject) => {
$.getJSON(`https://jsonplaceholder.typicode.com/todos/${id}`, (data) => {
resolve(data);
});
});
}
// console.log("하나");
// getTodos('1')
// .then((data) => {
// console.log("둘");
// console.log(data);
// return getTodos('2');
// }).then((data2) => {
// console.log(data2);
// return getTodos('3');
// }).then((data3)=>{
// console.log(data3);
// return getTodos('4');
// }).then((data4) => {
// console.log(data4);
// }).catch((err) => {console.log(err)});
// console.log("셋");
///////////////////////////////////////////////
// const execute = async () => {
// console.log('하나');
// const dataOne = await getTodos('1');
// console.log(dataOne)
// console.log('둘');
// const dataTwo = await getTodos('2');
// console.log(dataTwo)
// } // 비동기 이지만 순차적으로
// execute();
// 아래처럼 하면 순서보장 x
// getTodos('1').then(()=> {console.log(data)};
// getTodos('2').then(()=> {console.log(data)};
// getTodos('3').then(()=> {console.log(data)};
///////////////////////////////////////////////
//다 받는거 확신해야할떄
Promise.all([
getTodos('1'),
getTodos('2'),
getTodos('3'),
]).then((dataArr) => { console.log(dataArr) });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment