Как мне правильно обнаружить и сообщить, что мой экземпляр CouchDB не работает, при использовании библиотеки couch_client?

#node.js #couchdb

#node.js #couchdb

Вопрос:

Я использую nodejs с библиотекой couch_client и пытаюсь подключиться к экземпляру CouchDB, которого там нет. В результате сбой узла выдает мне что-то вроде этих строк в качестве выходных данных:

 node.js:116
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Error: ECONNREFUSED, Connection refused
    at Client._onConnect (net.js:576:18)
    at IOWatcher.onWritable [as callback] (net.js:165:12)
  

Бьюсь об заклад, я где-то допускаю очевидную ошибку — может быть, кто-нибудь со свежим умом сможет указать мне на это? Спасибо.

Ответ №1:

Просто перехватите исключение.

 try {
    go_ding({when:"there's stuff"});
} catch(e) {
    couldnt_connect();
    // Maybe setTimeout and retry, etc.
}
  

Ответ №2:

вы могли бы просто запросить узел couchdb простым запросом get по базовому URL. Я сомневаюсь, что вам нужен драйвер CouchDB или фреймворк для этого?

CouchDB, окончательное руководство по основному API, серверному API.

Комментарии:

1. Вы имеете в виду, что вместо того, чтобы делать один запрос через couch_client для данных, которые я ищу, я должен теперь делать два запроса каждый раз — один, чтобы проверить, что сервер запущен, и второй, чтобы получить данные?