在模块之间传递Koa CTX对象

时间:2019-09-10 21:45:26

标签: javascript node.js koa

我想知道是否将CTX对象从路由器模块传递到查询模块。

最好将CTX对象传递给一个函数,然后将其返回给下一个函数,或者像我目前正在将其传递给每个函数一样?

check
const queries = require('../queries/items.js');
const uniqid = require('uniqid');

module.exports = ({ itemRouter }) => {
    itemRouter
    .post('/create', async (ctx) => {
        const itemId = uniqid();
        const itemCount = await queries.searchItem(ctx);
        if (itemCount.length) {
            ctx.body = {status: 'Product Exists'};
        } else {
            await queries.createItem(ctx, itemId);
            await queries.createInventory(ctx, itemId);
            ctx.body = {};
        }
    })
};

此功能正常运行,我很好奇它是否是最有效的解决方案。

0 个答案:

没有答案