Tuesday 23 May 2017

Express/nunjucks async rendering

I'm using express/nunjucks to set up a small webapp. On the homepage I'd like to show some recently added data, which I want to pull from seperate databases. I have noticed this may take a while, so I would like to render/serve the page instantly, and add the data when it is retrieved.

I currently have a route set up like so:

NodeJS:

var express = require('express');
var db = require('../model/db');
var router = express.Router();

router.get('/', function(req, res) {
    res.render('index.html', {data: db.getData});
});

My HTML:

<div class="container-recent">
  
</div>

However this will take a while before it renders my page. How do I render the homepage completely, and only afterwards add in the data?

I know I can make a call to the backend in my frontend javascript code, but I'm hoping it can be done with Express.



via appel

No comments:

Post a Comment