如何使用Node.js表示与服务的异步回调响应

时间:2018-02-28 01:58:43

标签: javascript node.js es6-promise async.js

我是节点的新手并试图了解如何在其他异步函数中使用异步调用,这是一个例子。

我的路线:

/**
*  PAGE: PROFILE EXPOSITIONS
*/
exports.expositions = async(function* (req, res) {
        respond(res, 'users/profile/exhibitors', ProfileResponse.expositions( req ));
});

这是ProfileResponse.expositions的样子

exports.expositions = function*(req) {
    return {
        title: "Expositions",
        user: req.user,
        path: "/profile",
        waiting_exposition_requests: yield UserService.getWaitingExpositionRequest(req.user.id)
    };
};

我正在尝试使用看起来像这样的getWaitingExpositionRequest

exports.getWaitingExpositionRequest = function*(userId) {
    let currentUser = User.find(userId);
    let waiting_exposition_requests = [];
    currentUser.exposition_requests.forEach(function(exposition_request) {
        if(exposition_request.status === "waiting_for_exhibitor") {
            waiting_exposition_requests.push(exposition_request);
        }
    });
    return waiting_exposition_requests;
};

但是在控制台中我收到了Promise错误,知道如何使用这个异步函数返回?我确定这是一个语法错误,但我对异步的东西有点迷失。

0 个答案:

没有答案