Node.js 如何在节点中使用promise方法
我正在尝试RESTAPI的promise函数,而不是使用axios方法。因此,我可以等待结果,如果有任何错误。谁能帮我在node.js中将这段代码改为promise,这样我就可以使用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}`;
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')})