Unhandledpromiserejectionwarning при попытке доступа к fortnite-api?

Я пытаюсь получить доступ к Fortnite API с помощью node.js. У меня все настроено, как указано в документации, но возникают следующие ошибки:

Fortnite-API - Credentials Params OK
(node:3036) UnhandledPromiseRejectionWarning: #<Object>
(node:3036) UnhandledPromiseRejectionWarning: Unhandled promise 
rejection. This error originated either by throwing inside of an async 
function without a catch block, or by rejecting a promise which was not 
handled with .catch(). (rejection id: 1)
(node:3036) [DEP0018] DeprecationWarning: Unhandled promise rejections 
are deprecated. In the future, promise rejections that are not handled 
will terminate the Node.js process with a non-zero exit code.

Код, который у меня есть до сих пор:

const Fortnite = require("fortnite-api");

let fortniteAPI = new Fortnite(
[
    "redacted",
    "redacted",
    "redacted",
    "redacted"  
],
{
    debug: true
}
);

fortniteAPI.login().then(() => {
fortniteAPI
    .checkPlayer("x got", "pc")
    .then(stats => {
        console.log(stats);
    })
    .catch(err => {
        console.log(err);
    });
});

Я впервые возился с node.js самостоятельно, поэтому я понятия не имею, что происходит с этими ошибками. Я пытался погуглить ошибки, но все объяснения либо вышли мне через голову, либо выглядели так, как будто они были написаны на другом языке.

Обновлено: для тех, кто просматривает это позже, моя ошибка была вызвана включением 2FA (двухфакторной аутентификации) в моей учетной записи. Вам придется полностью отключить это. Кроме того, позже выясняется, что Fiddler 4 не будет работать после запуска игры, чтобы получить ваш ключ API Fortnite. Я нашел несколько часов поиска в Google, поэтому оставлю их здесь:

ЖЕТОН ЗАПУСКА КЛИЕНТА: MzRhMDJjZjhmNDQxNGUyOWIxNTkyMTg3NmRhMzZmOWE6ZGFhZmJjY2M3Mzc3NDUwMzlkZmZlNTNkOTRmYzc2Y2Y =

ТОКЕН КЛИЕНТА FORTNITE: ZWM2ODRiOGM2ODdmNDc5ZmFkZWEzY2IyYWQ4M2Y1YzY6ZTFmMzFjMjExZjI4NDEzMTg2MjYyZDM3YTEzZmM4NGQ =

(обязательно включите знак "=")

Вы не должны были размещать свои ключи в Интернете. Теперь каждый может использовать их для доступа к вашей учетной записи Fortnite API. Создавайте новые как можно быстрее!

Bergi 28.10.2018 21:50
0
1
111
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

не могли бы вы поставить уловку в обещании входа в систему, как показано ниже. посмотрите, сможете ли вы отловить ошибку или нет.

fortniteAPI.login().then(() => {
fortniteAPI
.checkPlayer("x got", "pc")
.then(stats => {
    console.log(stats);
})
.catch(err => {
    console.log(err);
});
}).catch((error)=>{console.log('error at login-->',error)});

Большое спасибо! Ошибка вызвана 2FA.

Revircs 26.10.2018 08:40

Вы обрабатываете только ошибки внутреннего обещания checkPlayer, а не обещания login. Не вкладывайте вызовы then, когда вам это не нужно, просто связать их и в конце установите обработчик ошибок:

fortniteAPI.login()
.then(() => fortniteAPI.checkPlayer("x got", "pc")
.then(stats => {
    console.log(stats);
}, err => {
    console.log(err);
});

Это может не предотвратить ошибку, но обработает ее в строке console.log(err) вместо того, чтобы печатать ее как необработанное отклонение.

Другие вопросы по теме