Что подразумевается под [[scope]] в Javascript?
Я прочитал некоторый ресурс через Интернет, в основном все примеры, связанные с "областью действия с переменной". Поэтому я попытался понять "сфера с функцией".
Вот мой фрагмент.
debugger;
GetUserDetails((email) => {
debugger;
GetUsersGroups(email, (group) => {
debugger;
GetPosts(group, (posts) => {
debugger;
console.log(posts);
});
});
});
function GetUserDetails(callback) {
debugger;
var email = 'xyz@gmail.com';
console.log(`Process started with email${email}!`);
callback(email);
}
function GetUsersGroups(email, callback) {
debugger;
// Todo: Api call
var groups = ['GroupUrl1', 'GroupUrl2', 'GroupUrl3', 'GroupUrl4'];
var groupsValue = JSON.stringify(groups);
console.log(`Got 4 groups: ${groupsValue} from email ${email}!`);
callback(groups[0]);
}
function GetPosts(groupUrl, callback) {
debugger;
// Todo: Api call
var posts = ['Post1', 'Post2', 'Post3'];
var postsValue = JSON.stringify(posts);
console.log(`Got 3 posts: ${postsValue} from group ${groupUrl}!`);
callback(postsValue);
}
Во время глобального контекста выполнения, помещенного в стек выполнения, все функции обратного вызова добавляются в область видимости.
[ https://screencast-o-matic.com/watch/cF6uDMYEbN ]
Почему это случилось?
Ссылка: https://medium.freecodecamp.org/deep-dive-into-scope-chains-and-closures-21ee18b71dd9
Заранее спасибо!