> 使用 Promise 发送请求可以有效地避免回调地狱的问题,使代码更加简洁和易于维护。以下是一个使用 Promise 发送请求的示例: ```javascript function sendRequest(url) { return new Promise(function(resolve, reject) { const xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.onload = function() { if (xhr.status === 200) { resolve(xhr.response); } else { reject(new Error(xhr.statusText)); } }; xhr.onerror = function() { reject(new Error('网络错误')); }; xhr.send(); }); } // 发送请求 sendRequest('http://example.com/data').then(function(response) { console.log('请求成功:', response); }).catch(function(error) { console.log('请求失败:', error); }); ``` 在以上代码中,首先定义了一个名为 `sendRequest` 的函数,该函数接收一个 URL 参数,并返回一个 `Promise` 对象。在 `Promise` 构造函数中,创建了一个 `XMLHttpRequest` 对象,并使用 `open()` 方法打开一个 `GET` 请求。接着设置了 `onload` 和 `onerror` 事件处理函数,当请求成功时,调用 `resolve()` 方法并将响应结果作为参数传入;当请求失败时,调用 `reject()` 方法并将错误信息作为参数传入。 在使用 `Promise` 发送请求时,可以使用 `then()` 方法来处理请求成功的结果,使用 `catch()` 方法来处理请求失败的结果。在以上代码中,通过调用 `sendRequest()` 函数并传入 URL 参数来发送请求,当请求成功时,会输出请求成功的响应结果;当请求失败时,会输出请求失败的错误信息。 需要注意的是,在使用 `Promise` 发送请求时,需要将 `XMLHttpRequest` 对象封装在 `Promise` 中,并在 `Promise` 中进行请求的相关操作。另外,需要使用 `resolve()` 和 `reject()` 方法来处理请求成功和失败的情况,并通过 `then()` 和 `catch()` 方法来处理相关结果。