【问题标题】:How to call a promise after execute some code?执行一些代码后如何调用promise?
【发布时间】:2018-08-03 20:57:15
【问题描述】:

我有这两行代码

checkInput.login(req, res);
database.login();

第二行是一个包含promise的函数,我需要在第一行之后执行第二行,我该怎么做?

【问题讨论】:

  • 第二行IS在第一行之后执行。
  • 不知道 login() 是什么,我们基本上无法回答。登录是否返回承诺?如果使用,则使用then。登录是否返回其他内容?同样,我们需要更多细节。
  • 第一行不返回承诺,但第二行是
  • @Pigna 那么第一行需要在完成时给出一些指示......

标签: javascript node.js promise


【解决方案1】:

现在,正如评论所说,它一个接一个地执行。但是如果两个函数是 promises(我认为基于名称)你必须使用 .then()async/await

checkInput.login(req, res)
.then(()=>{
    return database.login();
})
.then(()=>{
    console.log('yay db logged in')
})
.catch((err)=>{
    console.log(err)
})

【讨论】:

    【解决方案2】:
    Promise.resolve(checkInput.login(req,res))
    .then((response)=>{
     console.log(response);
     database.login();
    });
    

    我猜 checkInput.login 函数也是异步的。试试这个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 2014-11-16
      • 2012-10-25
      相关资源
      最近更新 更多