我是节点的新手并试图了解如何在其他异步函数中使用异步调用,这是一个例子。
我的路线:
/**
* 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错误,知道如何使用这个异步函数返回?我确定这是一个语法错误,但我对异步的东西有点迷失。