首页 > 解决方案 > 承诺 {} 在 Deno(打字稿)

问题描述

我在typescript. 我使用承诺来发送响应。但我收到了 Promis 挂起错误。这里出了什么问题?

Promise { <pending> }

服务器.ts

import { Application,Router,Context } from "https://deno.land/x/oak/mod.ts";
import {login,auth,guest} from './router.ts';

const router=new Router();

router
    .post('/login',login);

    const app=new Application();
    app.use(router.routes());
    app.use(router.allowedMethods());

    app.listen({port:8000});
    console.log('started port 8000');

路由器.ts

import {Context } from "https://deno.land/x/oak/mod.ts";

export const login= async (ctx:Context)=>
{
   const {value}= await ctx.request.body();
   ctx.response.body=value;
   console.log(value);
};

标签: typescriptpromisedeno

解决方案


根据文档 body().value是一个Promise<unknown>(假设您正在发送 JSON),因此您需要将您await的值移至:

export const login= async (ctx:Context)=>
{
   const value = await ctx.request.body().value;
   ctx.response.body= value;
   console.log(value);
};

推荐阅读