我目前正在尝试使用GitHub上的其他用户的一些代码。它的目标是包装特定网站的API。
现在代码执行此操作:
const rp = require('requests-promise');
function login(user, pass) {
var hash = md5(`${user}-${md5(pass)}`);
var options = {
method: 'POST',
uri: opts.url + 'Login.json',
form: {
Username: user,
Hash: hash
},
json: true // Automatically stringifies the body to JSON
};
return rp(options).then(j => {
if (j.Status) {
self.loginData = j;
if (j.Notifications.length > 0) {
console.log("User has a new notifications: " + j.Notifications.join(", "));
}
delete(self.loginData.Status);
delete(self.loginData.Notifications);
} else {
throw new Error("Bad login.");
}
return Boolean(j.Status)); // fail-sucess
})
})
}
如何将promise的返回值作为登录函数的返回值?目前它只返回promise对象而不是预期值,这是一个与登录状态对应的布尔值。