Не могу заставить .catch
работать. Я пробовал несколько решений, таких как throw
и без комментариев reject()
. Я озадачен, почему он не работает, так как я протестировал { ссылка }, который, кажется, работает точно так же, но в результате работает .catch
.
Я получаю эту ошибку: Unhandled rejected promise: 404 Not Found
как будто я не справился с отказом.
упрощенная версия кода:
makeRequest(theUrlOne)
.then(result => makeRequest(theUrlTwo))
.catch(result => console.log(result)) // not working, but not the problem
.then(result => resolve('Success.'))
.catch(result => resolve('Failed.')) // the problem-child
function makeRequest(url, method, datatype, timeout) {
return new Promise(function (resolve, reject) {
http.simpleRequest({
'method': method || 'GET',
'url': url,
'dataType': datatype || 'json',
'timeout': timeout || 6000,
}, function (error, response) {
if (error) {
return Promise.reject(error)
// reject(error)
}
if (response.statusCode != 200) {
return Promise.reject(response.status)
// reject(response.status)
}
let parsed = JSON.parse(response.data)
resolve(parsed);
});
})
}