#function #promise #appendchild #removechild #getelementsbytagname
Вопрос:
Код должен возвращать функцию, которая находит все элементы в DOM с именем «todo-item». Затем каждый из этих элементов должен быть удален из своего текущего родительского узла и добавлен в основной элемент текущего документа. Функция должна возвращать обещание, которое будет выполнено, как только все элементы будут успешно добавлены в элемент тела.
//a function that finds all elements in the DOM with the tagname „todo-item“.
function getToDoElement() {
//this captures every element with the tag name "todo-item" and stores it in a variable
//This method create an array of the specified element in the DOM
let toDoTag = document.getElementsByTagName("todo-item");
//these elements should then be removed from its current parent node andd stored in a variable.
/*while (toDoTag.firstChild) {
toDoTag.removeChild(toDoTag.firstChild);
} */
let removeToDoItem = document.body.removeChild(toDoTag);
//append to the body element of the current document.
//assuming the current document is element.
let newDoc = document.getElementsByTagName("body");
//append the previous child element to the new parent
document.newDoc.appendChild(removeToDoItem);
//The function should return a Promise that resolves once all of the elements were successfully added to the body element.
return new Promise ( (resolve) =>{
resolve(document.newDoc.appendChild(removeToDoItem));
} )
}
Комментарии:
1. Для чего предназначен этот код? Структура и комментарии делают его похожим на какое-то задание для университета / школы
2. Здесь нет причин использовать обещания, потому что весь этот код синхронен. Вы можете просто вернуть результат напрямую.
3. Да, они синхронны, но тогда он должен вернуть pro.ise, который будет разрешен, когда тело будет успешно добавлено? Верен ли другой код?