CNode

async 中有 promise。如何才能做到 promise 结束后,才算async完成

问答
Lluanwulin发布于9 年前最后回复9 年前2 回复4640 浏览0 收藏
async.series([
	function (cb) {
                    if (!req.headers.referer) {
                        res.redirect('');
                        cb("无效referer");
                    } else {
                        cb(null);
                    }
                },
                function (cb) {
                    var checkInfo = checkNatureService.apiPromise;
                    checkInfo.then(data => {
                        if (data.data && +req.query.p == 2) {
                            res.redirect('');
                            cb("内部用户跳转");
                        } else {
                            cb(null);
                        }
                    });
                    console.log(333);
                }
            ])	

我希望能在 render 前做一下内部用户的一些判断,但是在checkInfo的 promise 返回之前,async就执行完了,而不是等到 promise 返回后,进入到 cb 调用的时候才代表结束。 如何才能做到我说的需求,请大神指导!

查看回复

回复 (2)

L
luanwulin#1·9 年前

求大神指导!!!

E
Ende93#2·9 年前

为什么不把 checkInfo 拿出来放在 async 里?

参与回复
登录后即可参与回复。登录