我有這樣的服務人員:
self.addEventListener('fetch', function (event) {
event.respondWith(new Promise(function(resolve, reject) {
// ...
fetch(event.request).then(resolve).catch(reject);
}));
});
我不記得我在哪里找到這段代碼,但是當我將廣告攔截器與 404 一起使用時,在控制臺中我看到堆疊跟蹤:

有沒有辦法擺脫那個堆疊跟蹤。我只需要知道獲取失敗(請參閱第二條錯誤訊息)。
uj5u.com熱心網友回復:
只需清除stack屬性:
const e = new Error('Uh oh');
console.log(e.name, e.message, e.stack);
e.stack = '';
console.log(e.name, e.message, e.stack);
uj5u.com熱心網友回復:
堆疊跟蹤Error來自傳遞給reject方法的物件(或派生類)的堆疊屬性。一種解決方案是用字串拒絕:
catch( err=>reject(err.message))
但是,如果您想要有關無法獲取的 url 的更多資訊,則需要將其從event.request. 如何包含它取決于event.request是 url 字串,URL還是Request帶有字串化符的物件或物件。如果沒有確切的資訊,您可以嘗試類似
catch( err=>reject("Fetch failed to fetch " (request?.url || request )));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/392446.html
標籤:javascript 服务人员 获取-api
