呈现来自promises.all的结果,在一个视图中,nodeJS

因此,正如标题中所述,我正在尝试实现的是发送来自promise的json对象数组。

const switch_p = new Promise(function (resolve, reject) {
            conn.query('SELECT * FROM switch', (err, switch_data) => {
                if (err) throw err;
                resolve(switch_data);
            });
        });

const ap_p = new Promise etc..
             ...
             ...
             resolve(ap_data);


const server_p = new Promise etc..
             ...
             ...
             resolve(server_data);


const router_p = new Promise etc..
             ...
             ...
             resolve(router_data);

这些是我希望从中获得价值并在之后实现它们的4个承诺。

Promises.all函数:-我尝试了更多情况下渲染值,但每次都没有成功。 这是最后的尝试:

Promise.all([switch_p, ap_p, server_p, router_p]).then(values => {

            const responses = values.map(response => values)
            return Promise.all(responses)
        }).then(responses => {
            console.log(responses);
            data = responses
            console.log(data); // here its shows that data has content
            res.render('admin-panel', {
                layout: 'layoutAdmin',
                locals: {_id: sess_id, uname: sess_uname, rol: sess_rol, devices: data}
            });
        });

在视图中,我只是尝试显示设备(<%-devices-%>)中的内容,我知道它将是这样的:

[ [ [Object],
      [Object],
      [Object],
      ........

但它说“设备未定义”。我不知道为什么。 另外,如果有解决方案,但又不会破坏多个功能中的代码,那将很酷。

评论