Angular Http - toPromise 或订阅

2024-03-29

我观看了一些有关 Angular 的课程,发现有不同的方法来管理来自 Http 请求的数据。

  • 使用可观察量,.map(), .subscribe()
  • 使用承诺,.toPromise(), .then(), .catch()

我用过toPromise()在我的应用程序中,我发现它类似于 AngularJS Http 服务。

在什么场景下我需要使用 Observables?


如果您喜欢反应式编程风格,并且希望在应用程序中保持一致,即使对于单个事件(而不是事件流)也始终使用可观察量,那么请使用可观察量。如果这对你来说不重要,那么使用toPromise().

可观察量的优点之一是您可以取消请求。

也可以看看Angular - Promise 与 Observable https://stackoverflow.com/questions/37364973/angular-2-promise-vs-observable/37365955#37365955

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular Http - toPromise 或订阅 的相关文章

随机推荐

  • 在多台笔记本电脑上运行相同的 Rails 代码并将所有笔记本电脑的数据保存到同一个数据库

    我正在尝试在 localhost 3000 上的多台笔记本电脑上运行相同的 Rails 代码 如何将从不同笔记本电脑提交的数据保存在单个数据库中 或者 他们将共享相同的数据库 如果有人提交了数据 数据将自动存储在其他人的笔记本电脑上 还要考
  • 静态方法内的变量共享

    我对静态方法内的变量有疑问 静态方法内的变量是否共享相同的内存位置 或者它们有单独的内存吗 这是一个例子 public class XYZ Public Static int A int value int b value return b
  • 删除div中的空行

    我有一个标签 pre this is a this is b this is c pre 浏览器解析后输出 this is a this is b this is c 我想要的是 this is a this is b this is c
  • JSF 2.0 无法从 primefaces 渲染对话框

    最近我在使用 primefaces 组件时遇到了很多问题 我不知道为什么 我使用glassfishV3 0 我的primefaces版本是2 2 1 我现在的问题是 当我单击表行时 我无法使 primefaces 的 p dialog 呈现
  • 清除 symfony 2 中日志文件的命令

    我想知道 Symfony 2 中是否有清除日志文件的命令 虽然有php app console cache clear要清除缓存 我不知道任何命令来清除日志文件 logs dev log 和logs prod log 我一直手动清除这些日志
  • 如何在C++中存储1000000位整数

    在我的问题中 我必须保存大整数 例如最多 1000000 位数字 并执行一些操作 我该怎么做 我知道 C 中的 long int 最多可以存储 10 位数字 您可以使用GMP http gmplib org GNU 任意精度库 请注意 这不
  • 如何在 R 中使用范围数据显示离散类别中的频率?

    我正在尝试整理我掌握的有关恐龙及其年龄范围的大量数据 到目前为止 我的数据由一列名称组成 然后是两列过去数百万年的最大和最小日期 如下所示 GENUS ma max ma min ma mid Abydosaurus 109 94 3 10
  • android:等待连接时显示进度对话框

    我试图在启动新活动时添加一个进度对话框 该活动必须等待来自互联网的响应 目前 等待时屏幕会变黑 有谁知道它需要放置在哪里才能工作吗 这个进度对话框 ProgressDialog dialog ProgressDialog show Sear
  • 多行 UIButton 和自动布局

    我创建了一个视图控制器 如下所示 我希望两个顶部按钮与整个视图的左 右边缘之间始终保持 20 个点 它们也应该始终具有相同的宽度 我已经为所有这一切创建了约束 并且它完全按照我想要的方式工作 问题是垂直限制 按钮应始终位于顶部边缘下方 20
  • 如何在 Dancer 模板中制作特定于页面的标题?

    我有一个标准的 Perl Dancer 应用程序 使用 Template Toolkit 作为渲染引擎 有两条路线 get gt sub template index get foo gt sub template foo My views
  • Doctrine2 将实体导出到数组

    I have Product具有多对一的实体Category实体 我需要商店Product会议中 首先我尝试实施 Serializable产品上的界面 我应该如何序列化我的相关Category实体 我是否也应该实施 Serializable
  • 错误!代码 EPERM

    我正在使用 Node v6 11 2 npm v5 3 0 和 Angular cli v1 2 7 我的大部分 npm 安装突然收到以下错误消息 以前没见过 mmeppiel MC LT MMEPPIEL MINGW64 Desktop
  • 我可以在调用 Flask app.run 之后让 Python 代码继续执行吗?

    尽管过去 30 年来我一直在使用其他语言进行编程 但我才刚刚开始使用 Python 我想让我的第一个应用程序保持简单 所以我从一个托管在 Raspberry Pi 上的小型家庭自动化项目开始 我的代码工作正常 控制阀门 读取流量传感器并在显
  • 使用 Django 和 Twilio 通过短信进行一次性用户身份验证

    我正在 Django 中为我正在创建的移动应用程序编写后端 我需要在用户第一次通过短信打开移动应用程序时对其进行身份验证 以验证其是否为真人 需要发生的事情如下 用户在应用程序中输入电话号码 服务器然后向用户发送带有验证码的短信 然后用户在
  • 如何通过 VSCode 始终在新窗口中打开文件?

    Using MacOS Mojave VSCode 1 28 2 我在文本编辑中使用 VSCode 如 js txt csv 当我双击并在 Finder 或桌面中打开文件 或 在 VSCode 中打开 时 如果我打开另一个工作区 它会在与我
  • 我可以为 C# 中的匿名类指定一个有意义的名称吗?

    我们都知道 当我们创建这样的匿名类时 var Employee new ID 5 Name Prashant 在运行时它将是以下类型 lt gt f AnonymousType0
  • gcc 优化标志 -O3 使代码比 -O2 慢

    我找到这个话题为什么处理排序数组比处理未排序数组更快 https stackoverflow com questions 11227809 why is processing a sorted array faster than an un
  • 如何发送 AJAX POST 请求并播放响应中的音频?

    我正在构建一个应用程序 用户可以单击按钮 然后它将数据发送到服务器 然后 服务器根据请求 很可能是 POST 中的数据计算音频 并将 WAV 文件返回到浏览器 我已经构建了接受 post 请求并使用 wav 文件响应的部分 但我不知道如何在
  • 将 QR 码调配到设备所有者模式失败

    我有一台运行 Android 7 1 1 的设备 我正在构建示例 DPC 应用程序以准备制作 COSU kiosk 应用程序 但我在配置设置中不断遇到错误 我采取的步骤 将设备恢复出厂设置 成功扫描二维码配置屏幕上的代码 应用程序下载成功并
  • Angular Http - toPromise 或订阅

    我观看了一些有关 Angular 的课程 发现有不同的方法来管理来自 Http 请求的数据 使用可观察量 map subscribe 使用承诺 toPromise then catch 我用过toPromise 在我的应用程序中 我发现它类