iT邦幫忙

0

js promise 如何獲取 400, 500 時的 response body?

想問一個問題

return new Promise((resolve, reject) => {
                getSome(data).then(res => {
                    resolve(res);
                }).catch(err => {
                    reject(err);
                });
            });

假設 response 為 400 or 500時
他會跑去 catch 這沒問題
但我要怎麼獲得 response 回來的 body?
印出 err 都是系統的錯誤訊息
但其實 response body 是有 json 的

看起來有點怪怪的,你最外面的Promise 是幹嘛用的?
你也可以在then寫判斷式 reject(body) 然後catch就會接到body
你應該是要這樣吧?
if(res.code == 400 ) {
reject(res.body)
}

1 個回答

1
dragonH
iT邦超人 5 級 ‧ 2020-03-26 20:43:10
最佳解答

console.dir(err)

你就知道要印什麼了

突然找不到 api 可以測

我要發表回答

立即登入回答