2
私はtypescriptのasync/await in expressを経験しています。私は次のコードスニペットを持っていますが、それは結果をもたらさず、約束が決して終わらないように待っています。どのようにそれを動作させるためのアイデア。Async/Await - TypescriptとExpressJs
..
router.get('/test', this.test);
..
private async test(req: Request, res: Response) {
const result = await this.test2();
res.json(result);
}
private async test2() {
return await this.test3();
}
private test3() {
return new Promise((resolve) => { resolve({ "working": true }) });
}
更新:
私は下の行の最初の行を変更した場合、それが動作します。なぜどんなアイデア?
router.get('/test', (req,res)=>this.test(req,res));
アップデート2(固定) -
private test = async(req: Request, res: Response)=> {
const result = await this.test2();
res.json(result);
}
private test2 = async()=> {
return await this.test3();
}
private test3 = async()=> {
return new Promise((resolve) => { resolve({ "working": true }) });
}
あなたのコードは正常に見えるで述べたように、正確に動作するはずです。私は与えられたスニペット( 'res.json(result);'が取り除かれた状態で)を実行しようとしました。そして 'test'関数への呼び出しがうまく待って解決されました。あなたの問題はどこかにあるはずです。 – Amid