Nested effects
macabeus opened this issue · 2 comments
macabeus commented
function nested2 () {
perform 'foo' // should return 'bar'
perform 'crazy' // should return 'default'
}
function nested () {
try {
nested2()
} handle {
if (effect === 'foo') {
resume 'bar'
}
}
}
try {
nested()
} handle {
resume 'default'
}
luizperes commented
The example should be:
function nested2 () {
return perform 'foo' // should return 'bar'
// or
return perform 'crazy' // should return 'default'
}
See that perform as a statement breaks this:
function getName(user) {
let name = user.name;
if (name === null) {
name = perform 'ask_name';
}
return name;
}