如何使用 Unirest 在 Nodejs 中调用多个请求

How to call more than request in Nodejs using Unirest

我正在使用 Nodejs 和 Unirest,并且有以下代码:

import u from 'unirest';
    u.get(firstUrl).query(q).end(function (response) {
                            if (response.status == 200) {
                                posts = response.body;
                                console.log("Step 1");
                            } else {
                                console.log("error");
                            }
                            console.log("Step 2");
                            u.get(secondUrl).query(q).end(function (response) {
                                if (response.status == 200) {
                                   events = response.body;
                                    console.log("Step 3");
                                } else {
                                    console.log("error");
                                }
                            });
                            console.log("Step 4");
                            response.render('myPage', {
                                posts: posts, `
                                events:events
                            });
            });

第一个请求运行良好(帖子被发送到视图)但我无法从视图中获取事件。 在我的终端中,我有:

Step 1
Step 2
Step 4
Step 3

你能帮我在渲染 "myPage" 之前获得 postsevents 吗?感谢您的宝贵帮助。

我建议你研究一下 promises,你会更好地理解流程。

但这样会奏效 ;)

import u from 'unirest';
u.get(firstUrl).query(q).end(function (response) {
                        if (response.status == 200) {
                            posts = response.body;
                            console.log("Step 1");
                        } else {
                            console.log("error");
                        }
                        console.log("Step 2");
                        u.get(secondUrl).query(q).end(function (response) {
                            if (response.status == 200) {
                               events = response.body;
                                console.log("Step 3");

                            } else {
                                console.log("error");
                            }

                            console.log("Step 4");
                            response.render('myPage', {
                                posts: posts, `
                                events:events
                            });
                        });

        });