javascript - 相当于 typescript 中的异步管道

标签 javascript angular typescript ionic2 rxjs

我正在使用 ng-translate在 Ionic2 中,它为我提供了在代码中翻译字符串的方法。目前,我必须像这样使用该服务:

translate.get('ERROR').subscribe((res: string) => {
   //The string with code 'ERROR' is translated in res
   this.errorString = res;
});
....
//Later on, when error happens:
alert(this.errorString);

我在很多文件中有很多字符串、警报和通知。为它们中的每一个订阅一个 get 方法的 observable 是非常乏味的。在 html 中,可以使用异步管道轻松避免这种购买,或者在这种情况下使用翻译管道,它不需要显式订阅可观察对象:

<div>{{ 'ERROR' | translate}}</div>

对于 typescript 文件中的字符串,有什么方法可以让我同样简单地做到这一点?例如,理想情况下,我希望有一个速记来实现这一点:

   alert(idealTranslateFunction('ERROR'));

最佳答案

考虑到代码在async函数中,可以

this.errorString = await translate.get('ERROR').toPromise();

否则应使用 subscribe(...)

关于javascript - 相当于 typescript 中的异步管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41026026/

相关文章:

javascript - 如何通过javascript中的函数将javascript数组元素作为值放入html表单字段中?

angular - 用于 Angular2 Grid Web API 数据绑定(bind)的 Kendo UI

node.js - 路由无法正常工作

json - 基于 Typescript 字符串的枚举

typescript - 为什么 typescript 在排除扩展接口(interface)时给出类型 `never`

javascript - 将 anchor 与 react 路由器一起使用

javascript - 我们如何强制浏览器/ravenjs报告英语错误?

javascript - 在 JavaScript 中捕获浏览器关闭事件

angular - 补丁值不适用于嵌套输入 react 形式Angular 5

reactjs - 与 Webpack react 不显示错误