Node.js express'的替代品是什么;s res.send({user:';xyz';});还是在(膝关节炎)? 我想在我的膝关节炎应用程序中发送< 响应 >“没有代码> SistOXID 。我探索过,但没有得到任何帮助我做同样的事情。我还使用了返回ctx.throw(401)用于未经授权但不好,ctx.throw(401)只是发送“unauthorized”,我想添加一些特定的信息,添加后只发送响应到客户端。 有人能建议我做同样的事情吗

Node.js express'的替代品是什么;s res.send({user:';xyz';});还是在(膝关节炎)? 我想在我的膝关节炎应用程序中发送< 响应 >“没有代码> SistOXID 。我探索过,但没有得到任何帮助我做同样的事情。我还使用了返回ctx.throw(401)用于未经授权但不好,ctx.throw(401)只是发送“unauthorized”,我想添加一些特定的信息,添加后只发送响应到客户端。 有人能建议我做同样的事情吗,node.js,koa,Node.js,Koa,我的代码是: index.validateKey = async (ctx, next) => { await new Promise((resolve, reject) => { var authorized = ctx.headers.sessionid ? true : false; if (!authorized) { return ctx.throw(401); //HERE , I want to send

我的代码是:

index.validateKey = async (ctx, next) => {
    await new Promise((resolve, reject) => {
        var authorized = ctx.headers.sessionid ? true : false;
        if (!authorized) {
             return ctx.throw(401); //HERE , I want to send .
        }
        resolve();
    });
    await next();
}

您可以同步检查sessionId,因此不需要异步等待函数。 您的中间件功能可以是这样的

async(ctx, next) => {
    var authorized = ctx.headers.sessionid ? true : false;
    if (!authorized) {
        return ctx.throw('session Id required', 401);; 
        /*HERE , You can send custom message and return.*/
    }
    /* call next middleware else*/
    await next();
})

为什么你在没有异步调用时使用Asic等待?谢谢Chetan,但是我可以发送对象在CTX.thWORE?(?)中,膝关节炎JS用来产生明显的错误消息,这是传统的错误消息,应该保持短,并且所有的单行,所以这里有两个选项,你可以在上面的方法中对对象进行格式化和发送。或
ctx.throw(401,'errorstring',{error:'object'})然后在膝关节炎的单尝试捕获中捕获错误对象并相应地采取行动。