首页 > 解决方案 > 拦截 XMLHttpRequest 并发送 Promise

问题描述

我正在为视频播放器构建一个代理,它可以拦截 http 请求并使用可以异步解决的 Promise 发回响应

我发现了这种拦截http请求的方式

// save original `send` method
const origSend = XMLHttpRequest.prototype.send;

// redefine `send` method
// you could also pass extra parameters if needed
XMLHttpRequest.prototype.send = (...origParams) => {
  console.log('send called');
  origSend(...origParams);
}

现在我不想像上面那样使用 origSend 返回响应。我需要将 url 发送到我的后端引擎,该引擎将下载内容并将我需要发送回视频播放器的字节数组发送给我。为了实现这一点,我正在考虑使用 Promise,当它能够完成请求时,它将由我的后端引擎解决

现在我不确定如何将我的引擎获取的字节数组从截获的代码中返回给视频播放器。找到一些相关的代码片段会很棒。

标签: javascriptasynchronouspromise

解决方案


推荐阅读