hw 11 - garevna/js-course GitHub Wiki
Homework
| :briefcase: Обязательная часть |
|---|
( :point_up: удовлетворительно ) |
Предварительная подготовка:
Создать файл с данными в формате JSON
Это должен быть массив объектов с двумя свойствами: title и ref
title- название картинкиref- ссылка на картинку
Задание:
- Загрузить данные из JSON-файла
- Распарсить данные в массив
- Вывести на страницу картинки и подписи к ним
| :briefcase: Дополнительно |
|---|
( :ok_hand: хорошо ) |
Исходные данные
var messages = [
"backspace",
"enter",
"shift",
"control",
"delete",
"space",
"subtract"
]
messages.getKey = () => {
let key = new Date().toLocaleTimeString(), x = 0
while ( log [ `${key}[${x}]` ] ) { x++ }
return `${key}[${x}]`
}
var log = {}
sendMessage
var sendMessage = message => new Promise (
resolve => setTimeout (
() => resolve ( message ),
Math.random () * 7000
)
)
Задача: напилить код, который вызывает функцию sendMessage для каждого элемента массива messages и логирует полученные сообщения в объекте log следующим образом:
log
{
22:25:57: "backspace"
22:25:58: "shift"
22:25:59: "subtract"
22:25:59[2]: "enter"
22:25:59[3]: "delete"
22:26:01: "control"
22:26:01[2]: "space"
}
| :briefcase: Дополнительно |
|---|
( :thumbsup: отлично ) |
Изменим условие предыдущего задания
Массив messages, объект log и функция sendMessage остаются теми же
Немного изменится метод getKey:
messages.getKey = () => new Date().toLocaleTimeString()
Нужно напилить код рекурсивной функции recursive, которая вызывает sendMessage поочередно с каждым элементом массива messages, но только после того, как предыдущий месседж будет залогирован в объекте log
var sendAll = () => {
var index = 0
function recursive () {
...
}
recursive ()
}
sendAll()