Это один из способов использования Promise.all
.Это может варьироваться в зависимости от ваших потребностей или если вы предпочитаете придерживаться Promise.then
вместо async/await
.
//about.js
var express = require('express');
var router = express.Router();
var helper = require('../helper.js');
router.get('/', async(req, res) => {
const data = await helper.getdata()
const [list, result, param] = await Promise.all([
helper.getlist(data),
helper.getResult(), // if it does not depend of data, it could be load together with data using a Promise.all as well
helper.getall(data)
])
const renderParam = JSON.stringify({
da: data,
li: list,
re: result,
param
})
res.render("about.ejs", renderParam);
})
//helper.js
module.exports.getdata = function(rurl) {
return new Promise(function(resolve, reject) {
try {
var url_parts = require('url').parse(rurl, true);
var urlquery = url_parts.query;
resolve(urlquery);
} catch (err) {
reject(err);
}
})
}
// or helper shorter
const url = require('url')
module.exports.getData = rurl => new Promise(
(resolve, reject) => {
try {
const {
query
} = url.parse(rurl, true);
resolve(query);
} catch (err) {
reject(err);
}
}
)