const getUser = async (user) => {
const body = await snekfetch.get('https://www.website.com/api/public/users?name=' + user);
const userInfo = JSON.parse(body.text);
const r = await snekfetch.get('https://www.website.com/api/public/users/' + userInfo.uniqueId + '/profile');
const extraUserInfo = JSON.parse(r.text);
const _message = await client.users.get('437502925019807744').send({ files: ['https://www.website.nl/avatar-imaging/avatarimage?figure=h' + userInfo.figureString + '.png'] });
const avatarImage = _message.attachments.first().url;
return { userInfo, extraUserInfo, avatarImage };
};
getUser(args[0]).then((result) => {
message.channel.send(`${result.userInfo.name}`);
}).catch(function(result) {
console.log(result.userInfo.name);
});
Здесь я пытаюсь использовать 3 API, однако это всегда идет к улову, даже если один существует, а другой нет, я пытался использовать result.userInfo.name
только для использования первого API, также в улове, который я используйте первое, затем я попробовал имя, которое имеет только первый API, но не второй, однако я все еще получаю: TypeError: Cannot read property 'name' of undefined
, поскольку он также смотрит на второй API, что еще я могу сделать, чтобы справиться с этой ситуацией? В общем, как я могу ловить только ошибки для первого API
изменить: я также пытался:
if (extraUserInfo.user.name) {return { userInfo, extraUserInfo, avatarImage };}
else {return { userInfo, avatarImage };}