- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在本地存储中保存页面的设置。工作得很好。
const settings = [amount, hours]
localStorage.setItem('settings', JSON.stringify(settings));
现在,相同的服务类应该仅返回金额
。现在,当然,这返回了一个 promise 。很好,但我想首先分解 amount
和 hours
数据集,只返回 amount
。像这样的东西:(当然这是行不通的,因为函数已经完成,而异步数据获取仍在进行中)。
public getAmount(){
this.storage.get('settings').then((settings) => {
console.log('SettingsService: settings=' + settings[0]);
this.amount= settings[0];
});
return this.amount;
}
无论如何,处理此类数据分解的最佳实践或模式是什么?
金额
。如果我想到EAI pattern Content Enricher从不同来源收集数据,为了组成一个更智能的返回值,还需要在所有部分数据到达之前进行阻塞。那么,我们如何阻止 JavaScript 和 TS/Angular 中的数据获取呢?
感谢您分享您的想法。
最佳答案
我至少看到两件事:1)为什么要将数据保存在数组中:[金额,小时]
?最好创建一个模型接口(interface),并将其存储在对象(而不是数组)中:
export interface Settings {
amount: Amount; // or maybe number - choice is yours?
hours: number;
}
2)一旦你有了模型,那么它就会非常简单。你应该使用 Observable 而不是 Promise。一旦你有了 Observable - 将设置映射到金额就非常容易了:
import { from } from 'rxjs';
var observableFromPromise = from(promiseSrc);
public getAmount(): Observable<Amount> {
from(this.storage.get('settings')).pipe(
map((settings: Settings) => settings.amount)
);
}
然后您将能够在模板或其他组件/服务中使用金额值
// create observable field in component.ts
public amount$: Observable<Amount> = service.getAmount();
// use in component.html
<p>{{amount$ | async}}</p>
// or use in component.ts
this.amount$.subscribe(amount => console.log('this is the amount:', amount));
关于javascript - EAI Content Enricher 的数据获取模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55752112/
了解 Serilog 的基础知识。现在尝试添加一些增强器,以便我可以在每个日志行中打印用户名、机器名或类名等。 这是我目前的代码, using System; using Serilog; using
我在我的应用程序中使用 Serilog 进行日志记录。当我配置记录器时,我有这样的代码: var log = new LoggerConfiguration() .Enrich.With()
Emacs 提供了使用 MIME 标准的能力 text/enriched用于编写丰富的文本。这种格式的规范文件扩展名是什么。 Emacs 似乎认为它是 .doc (参见 $EMACSDIR/24.1/
我正在本地存储中保存页面的设置。工作得很好。 const settings = [amount, hours] localStorage.setItem('settings', JSON.string
我在 Pandas 中有一些数据框: 1 2 a .2 a .3 b .5 我想为每条记录添加一个带有小时(从 0 到 23)的列,这样它看起来像 1 2 3 a .
第一个问题: 我无法真正理解enrich()和pollEnrich()之间的区别。也许 Camel 使用的术语不是很好。 我在这里阅读:http://camel.apache.org/content-
在 Scala 2.9 中,要将自定义方法添加到库类(丰富或“pimp”它),我必须编写如下内容: object StringPimper { implicit def pimpString(s:
这是我的 spring 集成案例: 1) 用于下载 pdf 文件的 ftp 适配器 2)pdf2TextTransformer使用pdfbox将pdf转换为文本 3) pdfText2CsvTrans
我想在不更改负载的情况下从 http 请求中检索请求上下文,所以我使用了 enricher,但似乎 enricher 不能是 MuleMessage?我收到以下错误: org.mule.model.r
我设置了 Spark 流,以便它从套接字读取,在将数据发布到兔子队列之前对数据进行一些丰富。 在设置流上下文之前,扩充从通过读取常规文本文件 (Source.fromFile...) 实例化的 Map
我有一个自定义Enricher:CorrelationIdsEnricher,以便将CorrelationId和RequestId写入日志,并且其构造函数有一个参数:ICorrelationConte
我有一个自定义Enricher:CorrelationIdsEnricher,以便将CorrelationId和RequestId写入日志,并且其构造函数有一个参数:ICorrelationConte
我们有一个带有 Main() 方法的服务,它可以像这样初始化我们的 serilog 记录器: Log.Logger = new LoggerConfiguration()
我正在尝试找出最好的方法: 我有一个 Owin 管道,我想根据请求(URL、IP 地址等)用各种信息丰富所有日志 在我看来,在 Owin 管道中使用 Serilog ForContext() 有两种可
我正在使用 Flink 1.4.0 . 我正在将 Kafka 主题中的数据消费到 DataStream 中。数据转换成POJO ,说 Employee ,我最终得到了一个类似的东西: DataStre
我有一个似乎很受欢迎的问题,但我找不到答案。嗯,有很多关于它的信息,但我不确定最好的方法是什么。这是场景。 我们有一个单页应用程序 (SPA) 和一个 RESTful Web 服务 (API)。我们通
我升级到 camel 2.16,我的一条路线单元测试开始失败。 这是我的路线定义: public class Route extends RouteBuilder{ @Override
这是我的上下文:我正在使用 byteBuddy 动态生成一个类,该类根据外部配置将一个对象转换为另一个对象。我遇到了一些问题,我想找到一个替代方案,这就是我发现 MapStruct 的方式。 所以我尝
本文整理了Java中pl.edu.icm.synat.logic.repository.YElementEnricher.enrich()方法的一些代码示例,展示了YElementEnricher.e
我点击数据库得到 10 名员工;基于每个员工,我访问另一个数据库并获取一些信息并将其连接起来。 根据我的理解,它可以在 .process() 或 .enrich() (使用聚合器)中完成
我是一名优秀的程序员,十分优秀!