Page MenuHomePhorge

test_practical_async.cjs
No OneTemporary

Size
870 B
Referenced Files
None
Subscribers
None

test_practical_async.cjs

// Real-world async pattern: sequential operations
async function fetchUser(id) {
console.log(`Fetching user ${id}...`);
return new Promise(resolve => setTimeout(() => {
resolve({ id, name: `User${id}` });
}, 50));
}
async function fetchUserPosts(userId) {
console.log(`Fetching posts for user ${userId}...`);
return new Promise(resolve => setTimeout(() => {
resolve([`Post1 by ${userId}`, `Post2 by ${userId}`]);
}, 30));
}
async function getUserData(id) {
const user = await fetchUser(id);
console.log("Got user:", user.name);
const posts = await fetchUserPosts(user.id);
console.log("Got posts:", posts.length);
return { user, posts };
}
// This is the common pattern - sequential async calls within one function
getUserData(123).then(data => {
console.log("Complete!", data.user.name, "has", data.posts.length, "posts");
});

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 17, 1:32 PM (1 d, 16 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
523846
Default Alt Text
test_practical_async.cjs (870 B)

Event Timeline