首页 > 解决方案 > 在没有回调函数的 URL 中获取参数

问题描述

所以我知道如何以正常方式从 URL 获取参数:

router.get('/products/:id', (request, response, next) => {
   let id = request.params.id;

但是当我想将代码重构为许多文件时,代码变成了这样:

const productService = require('../services/productService');
router.get('/products/:id', productService.getProductList);

我现在如何从 URL 获取“id”?

productService.js 文件:

var mongodb = require('mongodb');
const db = require('../models/mongoUtil.js').getDb();
const getProductList = async (request, response) => {
    try {
        let id = request.params.id;
        let object_id = new mongodb.ObjectId(id);

        const result = await db.collection('product_list').findOne({ '_id': object_id });
        response.json(result);
        console.log(result);
    } catch (err) {
        console.log(err);
    }
};

module.exports = {
    getProductList
};

谢谢你。我是 Node Js 的新手。

标签: node.jsurlasync-awaitparametersrefactoring

解决方案


推荐阅读