Skip to content

Commit

Permalink
fix: .check() error handling and promise
Browse files Browse the repository at this point in the history
  • Loading branch information
gr2m committed Dec 23, 2016
1 parent ac84010 commit ba5f77c
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 18 deletions.
42 changes: 26 additions & 16 deletions lib/check.js
Expand Up @@ -19,13 +19,9 @@ function check (state) {
})

// once request finishes, remove it from state
state.request.catch(function (error) {
delete state.request
state.timestamp = new Date().toISOString()
handleError(state, error)
})
return state.request

return state.request.then(function () {
.then(function () {
delete state.request
state.timestamp = new Date().toISOString()

Expand All @@ -35,18 +31,32 @@ function check (state) {
})
delete state.error
}
})

.catch(function (error) {
delete state.request
state.timestamp = new Date().toISOString()

if (!state.error) {
process.nextTick(function () {
state.emitter.emit('disconnect')
})
}
state.error = {
name: error.name,
message: error.message,
code: error.code
}
})

internals.cache.set(state)
.then(function () {
return internals.cache.set(state)
})
})
}

function handleError (state, error) {
if (!state.error) {
process.nextTick(function () {
state.emitter.emit('disconnect')
.then(function () {
if (state.error) {
throw state.error
}
})
}
state.error = error
internals.cache.set(state, error)
})
}
4 changes: 2 additions & 2 deletions lib/utils/cache.js
Expand Up @@ -4,7 +4,7 @@ module.exports = {
unset: clearCache
}

function setCache (state, error) {
function setCache (state) {
if (state.cache === false) {
return Promise.resolve()
}
Expand All @@ -31,7 +31,7 @@ function getCache (state) {

function clearCache (state) {
if (state.cache === false) {
return Promise.resolve({})
return Promise.resolve()
}

return state.cache.unset()
Expand Down

0 comments on commit ba5f77c

Please sign in to comment.