我的NodeJS
服务器已经冻结,没有返回任何类型的错误。
请参阅附件中的详细信息。
最近大规模转向异步/等待模式,我认为这可能是导致此问题的原因。写了所有异步/等待这样的:
// PostController.js
view.on('init', async (next) => {
try {
const promises = [
Post.model.fetchDetail(req.params.post),
Treatment.model.fetchTreatmentCategories(),
User.model.fetchMostViewedDoctors(),
];
const [
post,
categories,
doctors,
] = await Promise.all(promises);
locals.data.post = post;
locals.data.categories = categories;
locals.data.doctors = doctors;
if (post && post.tags) {
locals.data.relatedQuestions = await Question.model.fetchRelatedQuestions(post.tags);
}
} catch (err) {
console.error(err);
}
next();
});
还将unhandledRejection事件监听器放在我的应用程序的init
文件中
process.on('unhandledRejection', error => {
console.log('unhandledRejection', error, error.message);
});
答案 0 :(得分:0)
基本上,有一些方法可以在JavaScript中处理异步:
在您的代码中,您在async/await
内使用callback
功能。因此,您在上面的列表中混合方法1和方法4。我不认为这是最好的主意。如需简要比较,请查看this link。