Challenge 1
Write a using declaration.
using resource = acquire();
console.log(resource);
Press Ctrl⌘Enter to check your answer
Practice using declarations, disposal protocols, and disposable stacks.
Challenge 1
using resource = acquire();
console.log(resource);
Press Ctrl⌘Enter to check your answer
Challenge 2
async function work() {
await using resource = await acquireAsync();
return resource;
}
Press Ctrl⌘Enter to check your answer
Challenge 3
const resource = {
[Symbol.dispose]() {
console.log("closed");
}
};
Press Ctrl⌘Enter to check your answer
Challenge 4
const resource = {
[Symbol.asyncDispose]() {
return Promise.resolve("closed");
}
};
Press Ctrl⌘Enter to check your answer
Challenge 5
const stack = new DisposableStack();
const resource = makeResource();
stack.;
stack.dispose();
Press Ctrl⌘Enter to check your answer
Challenge 6
const stack = new DisposableStack();
const value = {};
stack.(value, () => console.log("cleaned"));
stack.dispose();
Press Ctrl⌘Enter to check your answer
Challenge 7
const stack = new DisposableStack();
stack.(() => console.log("done"));
stack.dispose();
Press Ctrl⌘Enter to check your answer
Challenge 8
const first = new DisposableStack();
first.defer(() => console.log("cleanup"));
const second = first.();
second.dispose();
Press Ctrl⌘Enter to check your answer
Challenge 9
const original = new Error("body failed");
const cleanup = new Error("cleanup failed");
const combined = ;
console.log(combined.error === cleanup);
console.log(combined.suppressed === original);
Press Ctrl⌘Enter to check your answer