使用请求承诺在 nodejs 中链接承诺

Chaining promises in nodejs with request-promise

我知道外面有很多东西可以解释这些概念,但我仍然很困惑为什么我的 node.js 示例不起作用。

我有一个主要功能

function main(){
login()
    .then(
        function(result) {
            return getMyInfo();
        }
    );

和两个 API 调用(getMyInfo 和登录),如下所示:

function login(){
    const options = {
        ...
        },
    };
    return rp(options);
}

现在我想从另一个文件调用我的主函数

main()
    .then(
        function(thisIsWhatINeed) {
            console.log(thisIsWhatINeed);
        }
    );

不知何故,这对我来说仍然是 return 未定义的,您能帮您找出原因吗? 在我看来,login() 和 getMyInfo() return 都是一个承诺,因此 main() 也是一个承诺,因为它 return getMyInfo..

Return 来自您的 main 函数的承诺:

function main() {
   return login().then(function(result) {
       return getMyInfo();
   });
}