簡體   English   中英

在Bogart中使用承諾的數據訪問

[英]Using promisified data access in bogart

我正在嘗試使用bogartjs和couchdb建立一個簡單的博客。

我這樣使用viewEngine:

var viewEngine = bogart.viewEngine('mustache', path.join(bogart.maindir(), 'views'));

為了從數據庫中獲取所有帖子的列表,我使用bogart.promisify進行實際的調用並返回一個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] } ] }

如何將諾言的結果與模板一起退還/渲染?

上下文是您的對象所必需的。 這是出於相同的原因:

var log = console.log;
log(15); // exception in browsers.

傳遞上下文:

var readlist = bogart.promisify(articles.list, articles);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM