我有一个使用车把的节点表达应用程序。我有一个视图,它需要几分钟才能从Outlook下载文件。所以我在模板中有一个无限的进度条,只是渲染它,因为等待异步下载调用完成将使ui导航停滞并使用户感到困惑。
渲染完成后如何通知事件。
下面是视图模板和路由文件。
var express = require('express');
var router = express.Router();
var tokens = require('../tokens.js');
var graph = require('../graph.js');
/* GET /attachments */
router.get('/',
async function(req, res) {
if (!req.isAuthenticated()) {
// Redirect unauthenticated requests to home page
res.redirect('/')
} else {
let params = {
active: { attachments: true }
};
// Get the access token
var accessToken;
try {
accessToken = await tokens.getAccessToken(req);
} catch (err) {
req.flash('error_msg', {
message: 'Could not get access token. Try signing out and signing
in again.',
debug: JSON.stringify(err)
});
}
if (accessToken && accessToken.length > 0) {
try {
// Get the mail attachments
graph.getMailattachments(accessToken);
} catch (err) {
req.flash('error_msg', {
message: 'Could not fetch mail attachments',
debug: JSON.stringify(err)
});
}
}
res.render('attachments');
}
}
);
module.exports = router;
//模板文件
<h1>Attachments are being downloaded</h1>
<div></div>
<div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated"
role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-
valuemax="100" style="width: 100%"></div>
</div>