【发布时间】:2023-03-16 20:11:02
【问题描述】:
这就是我的意思。
如果浏览器原生支持fetch api(例如Chrome),那么它使用原生浏览器Promise。
如果我使用另一个 Promise 库(例如 bluebird),原生 fetch 仍然没有使用它——而是使用原生 Promise 实现。
有没有办法覆盖它?
问题示例:
window.Promise = function () { return null; };
fetch('/api')
.then(function (res) {
console.log('fetch result!', res); // still works because it uses native Promise
});
我为什么需要它,您可能想知道?我希望使用 bluebird 库支持的 global rejection events 和原生 Promises 所没有的。
【问题讨论】:
-
浏览器不关心你是否使用了一个promise库,它只知道它自己的promise。它不会自动更改为不同的实现。
标签: javascript error-handling es6-promise onerror fetch-api