Итак, я сделал немного кода многократного использования для узла и применяю его через async / await.Хотя я уверен, что при работе с этим у меня возникает много недоразумений ... Но, клянусь, у меня есть один проект, который использует этот код, и он работает, а другой - нет.Я использую request
и request-promise
.
UrlRequest: function( opts ) {
return new Promise( (resolve, reject) => {
request( opts,
function(error, request, body) {
if (error)
reject( {error: true, msg: error} );
else
resolve( {body, request} );
});
})
.catch(err => reject( {error: true, msg: err} ));
}
Я вполне уверен, что .catch()
не так.Но это не ошибка в моем первом проекте.Поэтому я пытаюсь найти правильный способ сделать это.В нескольких статьях, которые я просмотрел, я нашел эту функцию для использования.Я также знаю, что если произойдет какая-либо ошибка (включая этот случай), она выдаст ошибку UnhandledPromiseRejectionWarning
.Так как это правильно обрабатывается?
Как я это использую:
(async () => {
var result = await Promise.UrlRequest( {
url: "...",
method: "GET",
headers: DefaultHeaders
} );
// do stuff with result...
}) ();