javascript - 如何从旧的 then 调用中访问属性?

标签 javascript node.js promise

我曾经这样编码,最终发现自己陷入了回调 hell 。

 Redis.get("boo", (res1) => {
      Redis.get(res1, (res2) => {
          console.log(res1);
          console.log(res2);
      });
 });

但是,当我这样做时:

Redis.getAsync("boo)
.then(res1 => {
    return Redis.getAsync(res1);
})
.then(res2 => {
    console.log(res1) // undefined
});

我无法访问res1不再。在每次返回时传递参数感觉很脏。

这个问题有什么优雅的解决方案吗?

最佳答案

Redis.getAsync("boo")
.then(res1 => {
    return Redis.getAsync(res1).then(res2 => ({res1, res2}));
})
.then(({res1, res2}) => {
    console.log(res1, res2);
});

关于javascript - 如何从旧的 then 调用中访问属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39246807/

相关文章:

java - 任何可以调用Java代码的 Node 模块

javascript - 更新不起作用 mongodb、node.js

javascript - 访问和刷新 token

javascript - 如何在sinon js中测试设置的Interval

javascript - 来自 d3.js html 的 getIntersectionList

javascript - 合并两个对象并删除原始对象中不存在的属性

javascript - 即使父级更新,子级 prop 也不会更新

swift - 如何将 Swift Promise 桥接到 React Native

javascript - angularjs 中的模拟 promise

javascript - 如何使用未知数量代币的 promise ?