Команда ReQL: EventEmitter (соединение)
Синтаксис команды
connection.addListener(event, listener) connection.on(event, listener) connection.once(event, listener) connection.removeListener(event, listener) connection.removeAllListeners([event]) connection.setMaxListeners(n) connection.listeners(event) connection.emit(event, [arg1], [arg2], [...])
Описание
Соединения реализуют тот же интерфейс, что и EventEmitter в Node.js (EventEmitter). Это позволяет вам отслеживать изменения состояния соединения.
Выпускаются четыре события: connect, close, timeout и error.
-
connect: успешное подключение к серверу. -
close: соединение было закрыто, либо из-за ошибки, либо путём вызоваconnection.close(). -
timeout: таймаут базового сокета. -
error: произошла ошибка на уровне протокола. (Это не будет отправлено при ошибке запроса; те возвращаются в обратные вызовы/обещания.)
Пример: Отслеживание состояния соединения с помощью событий.
r.connect({}, function(err, conn) {
if (err) throw err;
conn.addListener('error', function(e) {
processNetworkError(e);
});
conn.addListener('close', function() {
cleanup();
});
runQueries(conn);
});
Пример: Как и в Node.js, on является синонимом для addListener.
conn.on('close', function() {
cleanup();
});
conn.close();
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/event_emitter/