здесь кусок кода, который должен работать безупречно, как мне известно, но сбой сервераброска в обещании падает сервер
примечание: Я использую ES6 с Вавилонской
const getDataFromCouchBase = function (siteId) {
return new Promise((resolve, reject) => {
const cluster = new couchbase.Cluster('127.0.0.1:8091'),
bucket = cluster.openBucket(bucketName, (err) => {
console.log("err: ", err);
if (err) {
throw err;
//reject(err);
}
// Retrieve a document
bucket.get(`site::${siteId}`, (err, result) => {
console.log("err: ", err);
console.log("result: ", result);
if (err) {
throw err;
//reject(err);
}
resolve(result.value);
});
});
});
}
и вот я звоню эту функцию с then
и catch
getDataFromCouchBase(siteId).then((site) => {
console.log(site);
}).catch((err) => {
console.log(err);
});
в случае неправильного bucketN AME или документ не доступен в ведре он выходит из строя сервер вместо брошенной ошибки быть обработаны catch
блоком
благодарит за быстрый ответ, что прояснил несколько вещей :) – panghal0
Да, обратный вызов был асинхронным. но у меня сложилось впечатление, что обещание также будет обрабатывать ошибку. мой плохой – panghal0
@ panghal0: Легко сделано. –