typescript - 承诺 {} 在 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);
};
解决方案
根据文档 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);
};
推荐阅读
- typescript - 打字稿类型保护数组查找需要在查找之前进行过滤
- c++ - 是否有类似 Rust 的 core::hint::spin_loop for C++ 的东西?
- python - 使用 Matplotlib 在双 Y 轴上绘制两个字典
- html - 由于 display:inline-block 具有绝对兄弟位置的 inline-block 父级得到对齐问题
- c - 修改和删除列表中的节点的错误
- django - 基于组的 Django 类 AccessMixin 权限
- php - 是否需要使用 wordpress 文件系统在插件内创建文件和目录?
- timestamp - 如何修复时间戳?
- javascript - 调整d3树布局缩放效果以及如何移动到树上的某个位置
- vue.js - Ionic 视图中的 Vue Suspense