Node.js 如何在节点中使用promise方法

Node.js 如何在节点中使用promise方法,node.js,api,rest,promise,request-promise,Node.js,Api,Rest,Promise,Request Promise,我正在尝试RESTAPI的promise函数,而不是使用axios方法。因此,我可以等待结果,如果有任何错误。谁能帮我在node.js中将这段代码改为promise,这样我就可以使用promise方法进行获取了。多谢各位 这是我的密码 const email = "xxx@xxxx.com" function isUserExists(email, kc_accessToken) { let url = `${path}/users?email=${email}`;

我正在尝试RESTAPI的promise函数,而不是使用axios方法。因此,我可以等待结果,如果有任何错误。谁能帮我在node.js中将这段代码改为promise,这样我就可以使用promise方法进行获取了。多谢各位

这是我的密码

const email = "xxx@xxxx.com"
function isUserExists(email, kc_accessToken) {
    let url = `${path}/users?email=${email}`;
    return axios_instance.get(url,
        {
            headers: {
                "content-type": "application/json",
                "authorization": `Bearer ${kc_accessToken}`
            }
        }).then(function (response) {
            if (response.data.length > 0) {
                return true;
            } else {
                return false;
            }
        })
        .catch(function (error) {
            console.log("some error occured");
        });
}


方法调用

http.createServer(function Test() {
    getAccessToken().then(function (response) {
        kc_accessToken = response.data.access_token;


        IsUserExists(email, kc_accessToken).then((resp) => {
            console.log(resp) 
            if(resp) {
                console.log("Do Not Create") 
         } else if (!resp) {
           console.log("Creat a new User")
          }


        })

    }).catch(function (error) {
        // handle error
        console.log(error);
    })
        .then(function () {
            // always executed
        });;
}).listen(8081);

我想你需要这样的东西:

const电子邮件=”xxx@xxxx.com"
const request=require('request');
函数isUserExists(电子邮件、kc_accessToken){
让url=`${path}/用户?电子邮件=${email}`;
返回新承诺(功能(解决、拒绝){
请求({
url:url,
标题:{
“内容类型”:“应用程序/json”,
“授权”:`持有人${kc_accessToken}`
}
},函数(错误、响应、正文){
如果(错误){
console.log(“发生了一些错误”);
}
如果(response.data.length>0){
返回resolve();
}
返回拒绝();
});
});

}
您已经在该代码中使用了承诺。到底是什么问题,什么不起作用?非常感谢。但是resposne.data.length有一个错误,它说长度未定义,这是promise函数的问题吗?因为在其他方法中,它工作正常。我认为您需要调查
响应
对象中的内容。您能否添加console.log(响应)并检查
数据是否放置在那里?此外,可能还需要添加JSON.parse(response.data.length),我一定会研究它。我确实尝试过,但它给了我SyntaxError:位置1处JSON中的意外标记o当您需要检查
响应
对象结构时,只需在调用
response.data.length
之前放置console.log(response)即可。我认为您没有正确使用此结构。您需要这样使用:
isUserExists()。然后(function(){console.log('user found')},function(){console.log('user not found')})