小编Bre*_*ett的帖子

Rx fromPromise并重试

你为什么要flatMapfromPromise获得重试工作?
('/ error'返回状态500)

var responseStream = Rx.Observable.just('/error').
        flatMap(requestUrl => {
            return Rx.Observable.fromPromise(_this.$http.get(requestUrl));
    });

    responseStream.
        retry(3).
        subscribe(
        function (x) {
            console.log('Next: ' + x);
        },
        function (err) {
            console.log('Error: ' + err);
        },
        function () {
            console.log('Completed');
        });
Run Code Online (Sandbox Code Playgroud)

我想削减仪式,只是:

Rx.Observable.fromPromise(_this.$http.get('error')).
        retry(3).
        subscribe(
        function (x) {
            console.log('Next: ' + x);
        },
        function (err) {
            console.log('Error: ' + err);
        },
        function () {
            console.log('Completed');
        }); 
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,xhr调用仅执行一次.

rxjs

16
推荐指数
1
解决办法
4872
查看次数

从自定义组件中设置Angular 2控件的有效性

我有一个自定义的Ng2组件,我正在使用模型驱动的方法.

<form [ngFormModel]="myForm" class="layout vertical relative">
    <my-custom-comp ngControl="currentValue"></my-custom-comp>
</form>
Run Code Online (Sandbox Code Playgroud)

因此,在我的自定义组件中,我拥有我需要的所有逻辑,但是我找不到一种方法来获取对ngControl的引用,以将其设置为有效或无效的自定义组件.

forms angular

9
推荐指数
2
解决办法
2万
查看次数

使用Google Prettify显示HTML

对于谷歌美化正确显示HTML代码示例,您应该更换所有<&lt;和所有的>&gt;.

如何仅使用JavaScript自动执行该过程?

javascript prettify

8
推荐指数
1
解决办法
4870
查看次数

在GCE上设置环境变量(kubernetes)

对于noob问题很抱歉,但是来自https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/getting-started-guides/logging-elasticsearch.md 它说:

要使用Elasticsearch和Kibana进行集群日志记录,您应该设置以下环境变量,如下所示:

KUBE_LOGGING_DESTINATION=elasticsearch
Run Code Online (Sandbox Code Playgroud)

我在哪里以及如何设置此Env Var?我在想我应该用

gcloud container clusters create   
Run Code Online (Sandbox Code Playgroud)

并传递选项,但没有选择......

kubernetes google-kubernetes-engine

8
推荐指数
2
解决办法
2237
查看次数

AngularJS RequireJS Browserify和Javascript模块/全局范围的噩梦

我最近在所有这些CommonJS vs AMD战斗中挖掘了一点,这是我的发现......(顺便说一句,我不是在这里讲道,我正在分享我的想法以获得一些建设性的见解......)RequireJS带来了很多复杂性我的Angular模块,我感觉不对,因为它是模块中的模块包装... Browserify方式更清晰但是为了使它能够正确地处理每一件事,你需要拥有所有的依赖关系和依赖关系依赖性正确实现不幸的是,我们并没有生活在一个完美的世界......所以你必须要小心翼翼地避开已经沉寂的自由人的内心依赖......我不是一个额外复杂的粉丝......

我目前的方式(并受到你所有的建设性批评......)

我有一个grunt文件连接和缩小我的所有资源,像BreezeJS,$,Q,Ladda等库...在全局范围泄漏...然后我为这些全局变量声明这个类型模块:

module.value('gLadda', (function(){

    if("Ladda" in window && "Spinner" in window){
        return Ladda;
    }else{
        throw new Error("The Globals Ladda || Spinner are missing");
    }

})());
Run Code Online (Sandbox Code Playgroud)

在我的应用程序之后,我使用"Angularify"依赖项,我没有在团队中使用这种技术,我想知道这是否为一些人发射了一些红灯,如果他们会解释为什么...谢谢你的时间.

javascript requirejs angularjs browserify

7
推荐指数
1
解决办法
2808
查看次数

Angular 2 Ngrx商店,效果和"短暂状态"

在表单组件的上下文中工作:

我试图向用户显示表单的状态"待定,成功,错误,原始".我不想在商店中拥有这些状态,因为它们是"短暂的状态".

我有一个影响:

@Effect()
  addTagToVideoEffect_ = this.appState_
    .ofType(TagActions.ADD_TAG_TO_VIDEO)
    .map<AddTagToVideo>(action => action.payload)
    .switchMap((addTag: AddTagToVideo) => this.dtsiVideosService.addTagToVideo(addTag)
      .map((addTag: AddTagToVideo) => TagReducers.addTagToVideoComplete(addTag))
      .catch((err) =>Observable.throw(err))
    );
Run Code Online (Sandbox Code Playgroud)

在我的表单组件中,我正在发送TagActions.ADD_TAG_TO_VIDEO 和订阅它:

onTag(tag: TagEntity) {

    this.subscription = this.tagActions.addTagToVideoEffect_.subscribe(
      this.onAddTagSuccess,
      this.onAddTagError
    );

    this.tagActions.addTagToVideo({videoId: this.videoId, tag: tag});
}
Run Code Online (Sandbox Code Playgroud)

.tagActions.addTagToVideoEffect_.subscribe我的效果调用两次的结果.如何在没有经过商店的所有短暂状态的情况下获得视图中效果的结果?并没有被称为两次的效果......

ngrx angular

6
推荐指数
1
解决办法
1277
查看次数

为什么在更新ControlValueAccessor时不会触发ngOnChanges

为什么在ControlValueAccessor中"writeValue"时,ngOnChanges不会触发?我通过registerOnChange发出一些事件,但我没有看到ngOnChanges中的任何动作

const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = new Provider(
  NG_VALUE_ACCESSOR, {
    useExisting: forwardRef(() => CustomInput),
    multi: true
  });

@Component({
  moduleId: module.id,
  selector: 'custom-input',
  templateUrl: 'custom-input.html',
  styleUrls: ['custom-input.css'],
  directives: [CORE_DIRECTIVES],
  providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]
})
export class CustomInput implements ControlValueAccessor{

  private _text: any = '';
  public isValid:boolean = false;


  onChange: EventEmitter<any> = new EventEmitter();
  onTouched: any;


  constructor(private ngControl:NgControl) {

  }

  ngOnChanges(e) {
    console.log('ngOnChanges');
  }

  get text(): any { return this._text; };

  set text(v: any) {
    if (v !== this._text) {
      this._text = v;
      this.onChange.emit(v);
    }
  } …
Run Code Online (Sandbox Code Playgroud)

angular

5
推荐指数
1
解决办法
625
查看次数

是否可以在Web worker中运行Angular?

我正在构建一个带有角度的SPA应用程序,我希望将我的Angular服务"WebService"与Web worker共享.目标是共享一个"WebService",以便我可以在后台(在Web工作者中)和前端(角度应用程序)中使用相同的服务.这可行吗?

附加信息:这里的想法是用于远程服务器上的数据同步,因此您使主应用程序使用"在线|离线"模式,将数据保存到本地Web存储和|或远程服务器(使用"WebService")和工作人员透明地使用相同的服务来同步数据......

你能展示一些在工作者中运行应用程序的代码吗?感谢您的反馈意见

web-worker angularjs

4
推荐指数
2
解决办法
2473
查看次数

Angular 2 Material 2单选按钮默认选择

我有一个无线电btn组,我想根据ngRx Observable的值选择一个.

<md-radio-group (change)="onTodoFilter($event.value);">
    <md-radio-button value="SHOW_ALL_TODO">All</md-radio-button>
    <md-radio-button value="SHOW_STARTED_TODO">Started</md-radio-button>
    <md-radio-button value="SHOW_COMPLETED_TODO">Completed</md-radio-button>
  </md-radio-group>
Run Code Online (Sandbox Code Playgroud)

对于Observable,我有:

this.todoVisibilityFilter$ = store.select('todoVisibilityFilterReducer');
Run Code Online (Sandbox Code Playgroud)

我想使用异步管道并从Observable的最新/当前值和单选按钮的值进行比较,但我无法计算我们的语法...

angular-material ngrx angular

3
推荐指数
1
解决办法
4310
查看次数

使用ExpressJS为每个文件设置Cache-Control

有没有办法在ExpressJS应用程序中为每个文件设置Cache-Control属性?我希望对我的应用程序中的文件缓存进行精细控制......我怎样才能实现这一目标?什么是关于Cache-Control的最佳实践?

cache-control node.js express

2
推荐指数
1
解决办法
2307
查看次数