小编Tom*_*llo的帖子

Express 路线内的 async/await

我有一个通过 url 参数收集信息的节点/快速路由。我使用这些参数来启动一个单独的函数,该函数需要几秒钟的时间。我正在尝试 async/await 等待函数返回数据,但路由逻辑只是向前推进,而不是等待任何东西。

这是语法/结构问题吗?欢迎任何提示,因为我似乎碰壁了。谢谢!

app.get('/testlogin', (req, res) => {
  (async () => {
    // This needs to wait until loginToApp returns data but it does not
    await loginToApp(req.query.u, req.query.p)
       .then((data) => {
        console.log('from testlogin route. This should print after loginToApp');
        console.log(data); // the returned data
      });
  })();
});

async function loginToApp(user, pwd) {
  (async () => {
    setTimeout(() => {
      const data = { temp: 1, rtemp: 2 };
      console.log('from loginToApp');
      console.log(data);
      return data;
    }, 2000);
  })();
}
Run Code Online (Sandbox Code Playgroud)

javascript node.js express async-await

4
推荐指数
1
解决办法
4300
查看次数

标签 统计

async-await ×1

express ×1

javascript ×1

node.js ×1