2次API调用响应后执行代码

2024-04-20

您好,我正在进行两个 API 调用来进行一些检查,我想在两个调用完成后执行代码。

var firstCall = request.get('/first', function (error, response, body) {
    body = JSON.parse(body)
})

var secondCall = request.get('/second', function (error, response, body) {
    body = JSON.parse(body)
})

理想情况下,我想做这样的事情(例如使用下划线)

if (_.isEmpty(firstCall) && _.isEmpty(secondCall)) {
    // execute code here because both calls are empty.
}

我相信我需要实现承诺,但我不确定如何为请求模块做到这一点。谢谢。


使用承诺:

(根据您共享的代码,我假设您使用的是旧版本的节点,因此我不会使用 ES6 语法)

var Promise = require('bluebird');

function get(url) {
  return new Promise(function(resolve, reject) {
    request.get(url, function(error, response, body) {
      if (error) return reject(error);
      resolve(JSON.parse(body));
    });
  });
}

var firstCall = get('/first');
var secondCall = get('/second');
Promise.all([firstCall, secondCall]).then(function (results) {
  if(_.every(results, _.isEmpty)) {
    // Do whatever you need to do
  }
})

ES6版本:

const get = url => new Promise((resolve, reject) =>
  request.get(url, (error, response, body) =>
    error ? reject(error) : resolve(JSON.parse(body))
  )
);

const firstCall = get('/first');
const secondCall = get('/second');
Promise.all([firstCall, secondCall]).then(results => {
  if(_.every(results, _.isEmpty)) {
    // Do whatever you need to do
  }
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2次API调用响应后执行代码 的相关文章

随机推荐

  • 如何找出文件的 MIME 类型(Content-Type)?

    有没有办法找出 Linux bash 脚本中文件的 MIME 类型 或者称为 Content Type 我需要它的原因是 ImageShack 似乎需要它来上传文件 因为出于某种原因它会将 png 文件检测为application octe
  • samba中如何获取用户的域信息

    BG 我在redhat linux中构建了samba 并共享一个文件夹 然后从Windows访问共享文件夹 如下所示 可以通过命令 smbstatus 获取连接信息 root Redhat6 pam d smbstatus Samba ve
  • .NET 中的 GAC 是什么?

    只是为外行寻找 GAC 的简短概述 而不是链接 是的 基本上这是一种保持 DLL 全局可访问而不用担心冲突的方法 不再有 DLL 地狱 每个架构和版本都有自己的生存空间 它也有自己的方式在资源管理器中浏览它 所以如果你去 C Windows
  • axios - 发送表单数据和非表单数据

    我正在使用 axios 将数据发送到我的 nodejs express 服务器 如果我想发送表单数据 我会执行以下操作 并且效果很好 const formData new FormData formData append nameOfFil
  • 将开放曲线转换为有序像素列表:使用 numpy 的 Python 测试代码

    我有一个 numpy 数组中的开放曲线的图像 我需要构建一个根据曲线上的位置排序的点坐标列表 我写了一个剧本草稿 http dip4fish blogspot com 2011 06 converting open curve to lis
  • Jetpack Navigation 在 onNewIntent 中手动处理深度链接

    我正在使用 Jetpack 导航 我需要手动处理深层链接 因为 1 隐式深层链接无法正常工作android launchMode singleTask 如果应用程序已打开 深层链接无法正确重定向 https stackoverflow co
  • Hibernate - 不使用 import.sql 的种子数据库

    我来自 php laravel 每当我想为数据库播种时 我只需要运行php artisan db seed 这将运行一些 php 脚本 将数据插入数据库 我想使用 spring hibernate 实现同样的功能 我知道我可以添加一个imp
  • 如何描述类型滚动事件?

    我在滚动上添加了侦听器 并尝试使用事件 我如何描述 type 而不是 any 反应16 8 6 脚本3 4 const Component FC
  • 将 nil 字符串指针设置为空字符串

    如何将类型中字符串指针的引用值设置为空字符串 考虑这个例子 package main import fmt type Test struct value string func main t Test nil if t value nil
  • php:通过 UTC 偏移量设置时区

    使用 javascript 我知道我的用户时区是 UTC 3 现在我想用这些知识创建 DateTime 对象 usersNow new DateTime now new DateTimeZone 3 我收到回复 Unknown or bad
  • 创建具有多个子上下文的 Spring Boot 应用程序

    我正在尝试使用 Spring Boot 和分层应用程序上下文创建一个应用程序 我当前的主要方法如下所示 public static void main String args new SpringApplicationBuilder Tes
  • “文本可视化工具”使用哪个类?

    当我使用DebuggerVisualizer属性如下 c assembly DebuggerVisualizer typeof DataSetVisualizer typeof DataSetVisualizerSource Target
  • 使用 XSL 进行转换而无需对最终输出进行 HTML 编码的属性方式是什么?

    所以 我正在使用 NET 我有一个 XSL 文件 C 中的 XslTransform 对象 它读取 XSL 文件并将一段 XML 数据 内部制造 转换为 HTML 我注意到我的最终输出是 lt and gt 自动编码成 lt and gt
  • 使用开关启用和禁用推送通知

    我正在使用 firebase 推送通知 FCM 并且我想使用切换按钮启用和禁用通知 为此 我共享了启用和禁用通知的首选项 但似乎我的逻辑根本不起作用 开关打开或关闭没有任何区别 我仍然收到通知 我需要帮助谢谢 活动 val sharedPr
  • LoadfromText 给出错误 2285(Microsoft Office Access 无法创建输出文件)

    当使用loadfromtext在access中导入表单时 我不断收到运行时错误2285 在互联网上搜索发现很多人都有同样的问题 但没有解决方案 有谁知道导致此错误的原因是什么 Edit 此外 在包含数据库的文件夹中还会创建一个名为 erro
  • 如何对服务的默认 WCF 端点进行硬编码?

    在自托管服务中 我想使用 App config 中指定的端点 如果存在 或者如果 App config 为空 则使用代码中指定的默认端点 我怎样才能做到这一点 Edit 澄清一下 这是在服务器 服务 端使用 ServiceHost 一种方法
  • jQuery 在所有浏览器中的 SlideUp() 上闪烁...附有示例页面

    我知道这个问题已经讨论过好几次了 但我有一个有点不同的问题 当调用 slideUp 并且浏览器风已经向下滚动以查看所有底部内容时 当 div 滑动关闭时它会闪烁多次 示例页面如下 只需单击它所说的位置 然后滑动到底部并关闭上面的 div 之
  • printf 内部如何工作? [复制]

    这个问题在这里已经有答案了 可能的重复 无需汇编的 C C 函数定义 https stackoverflow com questions 2442966 c c function definitions without assembly 你
  • 以下哪种脚本语言更适合笔测试? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 首先 我想避免语言上的激烈争论 可供选择的语言有 Perl Python 和 Ruby 我想说的是 我对所有这些都感到满意 但问题是我不能只专注
  • 2次API调用响应后执行代码

    您好 我正在进行两个 API 调用来进行一些检查 我想在两个调用完成后执行代码 var firstCall request get first function error response body body JSON parse bod