проблемы высосаны из пальца, а это обычно происходит если на javascript программировать как на java )
// return
const foo = (function () {
return {
abc(callback) {
var result = 'some'
return callback(result)
}
}
})()
console.log(foo.abc(function (datResult) {
return datResult
})) // some
// throw
const tthrow = new Promise(function (resolve, reject) {
reject('act like throw')
}).then(function (message) {
console.log('pure', message)
}).catch(function (error) {
console.log('error', error)
}) // error act like throw