پرومیس { <در حال انتظار> } در دنو (تایپاسکریپت)
من یک برنامه API ساده با Deno در typescript نوشتم. من از promises برای ارسال پاسخ استفاده کردم، اما خطای Promise pending دریافت کردم. چه مشکلی اینجا پیش آمده است؟
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);
};
