javascript - 当我从外部 api 获取数据时,如何将数据返回给客户端?

标签 javascript android node.js api

我有一个应用程序,我在 Node 中有一个后端。假设有一个 API 端点 (/get_menu) 来获取所有菜单。
当应用程序调用/get_menu 时,我调用不同餐厅的外部 API,当它们都返回菜单时,我将其发送到应用程序。为此,我正在使用 Promise.all。

由于一些餐厅需要花费大量时间,所以我想在不断从餐厅 API 获取数据的同时将数据返回给应用程序。例如,如果他们中的两个立即返回他们的菜单,那么我将这两个返回到应用程序,然后当我不断获取其他 API 的数据时,我不断将其发送到应用程序。

使用单个 API 端点(即/get_menu )有哪些好方法可以做到这一点?

最佳答案

有几个解决方案

  1. 为了给你一个字面的答案,你可以使用一些 实现像 socket.io 这样的套接字来向你的客户端发送数据 随时随地。

  2. 第二种选择是将餐厅的菜单保留在 一个数据库并从那里为用户提供服务。在后台, 使用 cron 定期更新您的数据库。这不是真的 建议让您的用户等待,直到您的所有菜单 API 都已完成 已解决。

关于javascript - 当我从外部 api 获取数据时,如何将数据返回给客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59563414/

相关文章:

node.js - Sequelize bulkcreate 抛出错误,语法错误位于或接近 ")"

javascript - 如何将文件内容解释为模板字符串?

javascript - 单个数组中的 Json 对象,需要使用 key meta_value 拆分键上的值

javascript - 样式表单时的填充文本

javascript - 除了显示 jQuery Ajax DataTable 的数量之外,如何将分页下拉列表移动到底部

android - 以编程方式安装 apk 时出错 : "android.content.ActivityNotFoundException: Unable to find explicit activity class"

javascript - Handlebars 动态字段名称

android - 带有默认值的 Kotlin-moshi 代码生成继承

android - 仅请求一次 android 权限

MySql 在选择记录时更改日期