Skip to content

Commit a059fe1

Browse files
authored
Merge pull request #207 from zendesk/wxing/clear-request-handlers
Clear handlers of request:X.done and request:X.fail of the request
2 parents ae7cdab + 1f782af commit a059fe1

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

lib/client.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -556,13 +556,23 @@ export default class Client {
556556
options = { url: options }
557557
}
558558

559-
this.on(requestKey + '.done', (evt) => {
559+
const doneEventKey = `${requestKey}.done`
560+
const failEventKey = `${requestKey}.fail`
561+
562+
const doneHandler = (evt) => {
560563
resolve.apply(this, evt.responseArgs)
561-
})
564+
this.off(failEventKey, failHandler)
565+
this.off(doneEventKey, doneHandler)
566+
}
562567

563-
this.on(requestKey + '.fail', (evt) => {
568+
const failHandler = (evt) => {
564569
reject.apply(this, evt.responseArgs)
565-
})
570+
this.off(failEventKey, failHandler)
571+
this.off(doneEventKey, doneHandler)
572+
}
573+
574+
this.on(doneEventKey, doneHandler)
575+
this.on(failEventKey, failHandler)
566576

567577
this.postMessage(requestKey, options)
568578
})

0 commit comments

Comments
 (0)