Отказ от необработанных обещаний

Я не могу решить мой необработанный отказ от обещания с этим сценарием. Обещания и асинхронные функции являются новыми для меня. Я должен справиться с отказом, но не знаю, как это работает.

Кто-нибудь может мне помочь?

const rawRequest = async (url, headers, data, timeout) => {
// Set custom User-Agent string
headers['User-Agent'] = 'Kraken Javascript API Client';

const options = { headers, timeout };

Object.assign(options, {
    method : 'POST',
    body   : qs.stringify(data),
});

const { body } = await got(url, options);
reject('reject');

const response = JSON.parse(body);

if(response.error && response.error.length) {
    const error = response.error
        .filter((e) => e.startsWith('E'))
        .map((e) => e.substr(1));

    if(!error.length) {
        throw new Error("Kraken API returned an unknown error");
    }

    throw new Error(error.join(', '));
}

return response;
};

//script
const response = rawRequest(url, headers, params, timeout);
console.log(response);

1 ответ

Результат асинхронной функции в вашем тогда. Вызовите функцию rawRequest следующим образом (не делайте response = rawRequest()):

//script
rawRequest(url, headers, params, timeout).then(res => {
//do something with your response
 console.log(res);
}).catch(e => {
//handle exception (rejection)
console.log(e);
})

Надеюсь это поможет!!!

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