Asynchronous Programming - Exercise, 6. Blog
Здравейте,
Търся решение на тази задача със 100 точки. Не успявам да изкарам повече от 50. Локално всичко изглежда чудесно, ето го моят код:
https://pastebin.com/b7kZzpuk.
Здравейте,
Търся решение на тази задача със 100 точки. Не успявам да изкарам повече от 50. Локално всичко изглежда чудесно, ето го моят код:
https://pastebin.com/b7kZzpuk.
;-)
function attachEvents() {
document.getElementById('btnLoadPosts').addEventListener('click', getAllPosts);
document.getElementById('btnViewPost').addEventListener('click', displayPost);
}
attachEvents();
async function displayPost() {
const titleElement = document.getElementById('post-title');
const bodyElement = document.getElementById('post-body');
const ulElement = document.getElementById('post-comments');
const selectedId = document.getElementById('posts').value;
titleElement.textContent = 'Loading...';
bodyElement.textContent = '';
ulElement.replaceChildren();
const [post, comments] = await Promise.all([
getPostById(selectedId),
getCommentsbyPostId(selectedId),
]);
titleElement.textContent = post.title;
bodyElement.textContent = post.body;
ulElement.replaceChildren();
comments.forEach(c => {
const liElement = document.createElement('li');
liElement.textContent = c.text;
ulElement.appendChild(liElement);
})
}
async function getAllPosts() {
const url = `http://localhost:3030/jsonstore/blog/posts`;
const res = await fetch(url);
const data = await res.json();
const selectElement = document.getElementById('posts');
selectElement.replaceChildren();
Object.values(data).forEach(p => {
const optionElement = document.createElement('option');
optionElement.textContent = p.title;
optionElement.value = p.id;
selectElement.appendChild(optionElement);
});
}
async function getPostById(postId) {
const url = `http://localhost:3030/jsonstore/blog/posts/` + postId;
const res = await fetch(url);
const data = await res.json();
return data;
}
async function getCommentsbyPostId(postId) {
const url = `http://localhost:3030/jsonstore/blog/comments`;
const res = await fetch(url);
const data = await res.json();
const comments = Object.values(data).filter((x) => x.postId == postId);
return comments;
}
I am really impressed with your article. The information you share will be an important document for me to learn more about this topic. mapquest driving directions
Issue with comment iteration: In the handleComments function, the for...of loop is not correctly iterating over the comment entries. To fix this, you need to use destructuring assignment to separate the key and value in the loop. Bitlife
My geometry dash lite guess is that the trainer should finish this one (instead of saying, "Ask people at discord...") and explain how to get a perfect score of 100% using the solutions I have. For whatever reason, exceeding the predetermined number of requests causes the judge to become irate.
Being a hit in this Drift Hunters game not only gives you bragging rights to everyone, but it also unlocks the drift cars of your dreams and makes it easy to change upgrades anytime you want.
You can get the rest at Buckshot Roulette. Just play the game for 10 minutes.
Благодаря за бързия отговор, но и твоят код дава 50 точки... На мен ми е интересно да разгледам решение, което дава максималният брой точки, за да си изясня какво пропускам. Явно има някакви допълнителни изисквания, които трябва да се съобразят...
Ooops sorry. From all the solutions that I have for this exercise, they all gave 50% apparently - actually the trainer should finish up this one (not reply with "Ask people at discord...") and explain how to achieve 100%, since many students only have 50%.
Thanks to Nikolay for the 100% code =>
Супер! Явно judge се сърди ако се правят повече заявки от зададеното.... Решението дава 100/100, след като поправих един ред от това, което ми прати последно, за дда закача правилно коментарите:
=> for (let commentInfo of Object.values(data))
Благодаря за решението!