function loginUser(email, password, callback) {
setTimeout(() => {
console.log("Now we have the data");
callback({ userEmail: email });
}, 3000);
}
function getUserVideos(email, callback) {
setTimeout(() => {
callback(['video1', 'video2'])
}, 1000)
}
const user = loginUser('developer@gmail.com', 123456, cb => {
console.log(cb);
getUserVideos(cb.userEmail, (videos) => {
console.log(videos);
})
});
Насколько я понимаю:
1) на точке входа
const user = loginUser
в
callback
функции
loginUser
передается стрелочная функция
2) запускается функция
loginUser
3) через 3 секунды срабатывает
console.log("Now we have the data");
4) и следом запускается
callback
функция с объектом в качестве аргумента
5) при запуске
callback
первым делом срабатывает
console.log(cb);
и вот здесь мне непонятно...
- что происходит, когда для вывода в консоль передается не строка, а функция? Как получается, что по итогу в консоли я вижу
{ userEmail: 'developer@gmail.com'}
?
- и откуда в строке
getUserVideos(cb.userEmail, (videos) => {
берется свойство userEmail
, если функции cb
его никто не присваивал?