// Sünkroonne funktsioon
// meil on pmst "andmebaas", milles kaks postitust
const posts = [
{title: 'post one', body: 'This is post one'},
{title: 'post two', body: 'This is post two'}
];
// fn postituse loomiseks, mis toimub 2 sek möödumisel
// function createPost(post){
// setTimeout(function(){
// posts.push(post);
// }, 2000);
// };
//fn mis kuvab postitusi massiivist ning paigutab need listi ning kuvab lehel, 1 sek möödumisel
// function getPosts(){
// setTimeout(function(){
// let output = '';
// posts.forEach(function(post){
// output += `<li>${post.title}</li>`;
// });
// document.body.innerHTML = output;
// }, 1000);
// };
// probleem selles, et me loome kolmanda postituse createPost aga fn getPosts ei kuva seda, kuna uus postitus pole veel jõudnud massiivi lisanduda
// createPost({title: 'Post Three', body: 'This is post 3'});
//
// getPosts();
// Asünkroonne fn
// Callback võimaldab kutsuda esile teist funktsiooni teise sees
function createPost(post, callback){
setTimeout(function(){
posts.push(post);
callback();
}, 2000);
};
function getPosts(){
setTimeout(function(){
let output = '';
posts.forEach(function(post){
output += `<li>${post.title}</li>`;
});
document.body.innerHTML = output;
}, 1000);
};
createPost({title: 'Post Three', body: 'This is post 3'}, getPosts);