首页 > 解决方案 > 不等待 API 请求响应

问题描述

所以我有一个可以工作的 node.js 代码来处理来自网站 API 的数据。我想加快一点速度,我认为最好的方法是发送一个请求,在等待响应的同时执行一些代码,而不是像现在这样等待响应。现在我的代码基本上是这样的:

function httpGet(url){
  var response = requestSync(
    'GET',
    url
    );
    return response.body;
}

var returnCode;
var getUrl = "url"
returnCode = httpGet(getUrl);
var object = JSON.parse(returnCode);

//Some code executes

正如您所看到的那样,由于您正在等待响应,因此会浪费一些时间。我会在这个意义上寻找一些东西(伪代码):

  1. 发送请求
  2. 一些与请求无关的代码在请求发送后立即执行
  3. 完成上述部分后,解析请求结果

总之,我正在寻找一种发送请求而不是浪费时间等待响应的方法。如果您对如何加快代码速度有任何其他想法,请告诉我:)

标签: node.jsrequest

解决方案


您正在寻找异步代码。当您使用类似的功能requestSync时,它意味着它“阻塞”直到它完成。是同步的。当你使用异步的东西时,你通常会使用回调(一个在所需操作完成时调用的函数)或承诺(对回调的抽象)。关于在 SO 上使用这些有很多问题。这篇文章:如何从异步调用返回响应?有一堆与您的问题相关的信息。


推荐阅读