在一秒钟内访问先前承诺的结果

时间:2018-03-06 17:56:20

标签: javascript node.js promise

我使用return pattern来阻止我做出丑陋的级联。 这是一个例子,我一个接一个地调用两个函数myfunction1myfunction2

myfunction1().then((value1) => {
  return myfunction2()
}).then((value2) => {
  console.log(value1)
}).catch((err) => {
  console.error(err)
})

如何在seconde函数的value1内访问then

2 个答案:

答案 0 :(得分:1)

您必须通过链条传递它。这就是我开始使用async/await的原因:

try {
    var value1 = await myfunction1();
    var value2 = await myFunction2();
    console.log(value1)
} catch (err) {
    console.error(err)
}

答案 1 :(得分:0)

你必须像这样“链接”你的承诺:

myfunction1().then((value1) => {
  return myfunction2().then((value2) => {
    console.log(value1)
  })
}).catch((err) => {
  console.error(err)
}