在处理API的GET请求时,如果请求被挂起待处理,可能是因为代码中出现了异步操作,导致请求还未完成就被返回。以下是一个可能的解决方法,使用Promise对象来处理异步操作:
function getDataFromAPI() {
  return new Promise((resolve, reject) => {
    // 发送GET请求
    const xhr = new XMLHttpRequest();
    xhr.open("GET", "https://api.example.com/data");
    xhr.onload = () => {
      if (xhr.status === 200) {
        resolve(xhr.responseText); // 请求成功,返回响应数据
      } else {
        reject(xhr.statusText); // 请求失败,返回错误信息
      }
    };
    xhr.onerror = () => {
      reject("网络错误"); // 请求出错,返回错误信息
    };
    xhr.send();
  });
}
// 调用API请求
getDataFromAPI()
  .then(response => {
    // 处理响应数据
    console.log(response);
  })
  .catch(error => {
    // 处理错误信息
    console.error(error);
  });
在上述代码中,getDataFromAPI函数返回一个Promise对象,通过XMLHttpRequest发送GET请求。在请求成功时,调用resolve方法返回响应数据;在请求失败时,调用reject方法返回错误信息。然后可以通过.then方法处理成功的响应数据,或者通过.catch方法处理错误信息。使用Promise对象可以更好地处理异步操作,确保请求完成后再返回结果,避免请求被挂起待处理的情况发生。
                    上一篇:API上传由Multer和Nodejs处理时出现错误(code:'LIMIT_UNEXPECTED_FILE',field:'files[]',storageErrors:[])。
                
下一篇:API上的类的通用类型