0
Я пытаюсь создать простой блог с bogartjs и couchdb.Использование обещания доступа к данным в bogart
Я использую viewEngine так:
var viewEngine = bogart.viewEngine('mustache', path.join(bogart.maindir(), 'views'));
Чтобы получить список всех сообщений из базы данных я использую bogart.promisify
для фактического вызова и обещание, как это:
router.get('/postsp', function(req) {
var articles = nano.db.use('articles');
var readlist = bogart.promisify(articles.list);
readlist().then(function(data) {
console.log(data);
return viewEngine.respond('posts.html', data)
});
console.log('render');
});
Но этот метод не возвращает шаблон posts.html
с данными. Это находится в консоли:
render
{ total_rows: 2,
offset: 0,
rows:
[ { id: '1ec1ba2efd99b08a296022a471000adc',
key: '1ec1ba2efd99b08a296022a471000adc',
value: [Object] },
{ id: '20ce1f108a8bdf2f19f04f42b0001a04',
key: '20ce1f108a8bdf2f19f04f42b0001a04',
value: [Object] } ] }
Как вернуть/отобразить шаблон с результатом обещания?
Это, кажется, не быть ответом. Статьи взяты в обещанном нано-вызове. 'console.log (data)' фактически выплевывает все данные в базе данных. Только ответ не получается. Как видно из журнала, консольное сообщение «render» печатается перед вышеупомянутым сообщением консоли с данными. Проблема здесь в том, что 'viewEngine.respond' никогда не выполняется или что он не делает того, чего я ожидаю от него. – tuvokki
@tuvokki вам также не нужно возвращать до 'readList()' - как в 'return readList(). Then (...)' –
Спасибо. Вот и все. Я полагаю, что добавление контекста ничего не меняет, но возврат перед 'readList(), а затем (...)' сделал трюк. – tuvokki