Api#close() returns a promise.

This commit is contained in:
Julien Fontanet 2015-05-24 14:41:01 +02:00
parent 5a87a6c502
commit 68abd91fc2
2 changed files with 8 additions and 3 deletions

View File

@ -4,6 +4,7 @@
var Bluebird = require('bluebird')
var EventEmitter = require('events').EventEmitter
var eventToPromise = require('event-to-promise')
var inherits = require('util').inherits
var jsonRpc = require('@julien-f/json-rpc')
var MethodNotFound = require('@julien-f/json-rpc/errors').MethodNotFound
@ -68,9 +69,13 @@ function Api (url) {
inherits(Api, EventEmitter)
Api.prototype.close = function () {
if (this._socket) {
this._socket.close()
var socket = this._socket
if (socket) {
socket.close()
return eventToPromise(socket, 'close')
}
return Bluebird.resolve()
}
Api.prototype.connect = Bluebird.method(function () {

View File

@ -24,7 +24,7 @@
"dependencies": {
"@julien-f/json-rpc": "^0.3.5",
"bluebird": "^2.9.6",
"event-to-promise": "^0.3.2",
"event-to-promise": "^0.3.3",
"exec-promise": "^0.5.1",
"lodash.assign": "^3.0.0",
"lodash.foreach": "^3.0.1",