我已經通過其他stackoverflow答案看了,似乎無法找到答案。Promise.all從API的拒絕
實際上,我正在寫一個模塊來驗證一些數據,然後如果沒有錯誤將它傳遞給第三方api。
我的問題是,如果Promise.all拒絕,那麼我的初始呼叫承諾仍然移動到下一個。
------my main app---------
const data = [1,0,1]
api.sendData(data)
.then(() => {
*ALWAYS HITTING THIS*
})
.catch(err => console.log(err))
---------the api---------
return await a.test(data).then(rd => {
return rd
})
.catch(ed => {
return ed
});
-----a.test function--------
let request = data.map((i) => {
return new Promise((resolve, reject) => {
if(i < 1) {
reject('value to low')
}
resolve(i);
});
});
return await Promise.all(data)
});
有誰能告訴我爲什麼我的catch沒有在我的主應用程序中被擊中? 上面的代碼是僞的,但描述了這個問題。
爲什麼,鄰爲什麼這麼多的人認爲'返回等待somePromise'永遠是正確的做法?提示,沒有理由在那裏使用「等待」。你以任何一種方式回覆承諾。 – jfriend00