Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 它是如何工作的?_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 它是如何工作的?

Javascript 它是如何工作的?,javascript,angular,typescript,Javascript,Angular,Typescript,在本例中,of()?它是如何工作的 public onRemoving(tag): Observable<any> { const confirm = window.confirm('Do you really want to remove this tag?'); return Observable.of(tag).filter(() => confirm); } 但它现在确实起作用了,.confirm()在捕获值时返回可观察值confirm 我也试着这样

在本例中,
of()
?它是如何工作的

 public onRemoving(tag): Observable<any> {
    const confirm = window.confirm('Do you really want to remove this tag?');
    return Observable.of(tag).filter(() => confirm);
}
但它现在确实起作用了,
.confirm()
在捕获值时返回可观察值
confirm

我也试着这样做:

public onRemoving(tag: any): Observable<any> {

    const args = new MultiDlgArgs();
    args.type = 'confirmation';

    return Observable.create(observer => {
      return this.mapDlg
        .confirm(args)
        .subscribe(res => {
          return false;
        });
    });
  }
public onRemoving(标记:any):可观察{
const args=新的MultiDlgArgs();
args.type='确认';
返回可观察的。创建(观察者=>{
返回此.mapDlg
.确认(args)
.订阅(res=>{
返回false;
});
});
}
我尝试过的另一种方法:

public onRemoving(tag: any): Observable<any> {

    const args = new MultiDlgArgs();
    args.type = 'confirmation';

    return new Observable<boolean>(observer => {

        this.mapDlg
          .confirm(args).map((res) => {
          if (res == null) {
            observer.next(false);
          } else {
            observer.next(true);
          }
        });

      }
    );
  }
public onRemoving(标记:any):可观察{
const args=新的MultiDlgArgs();
args.type='确认';
返回新的可观察对象(观察者=>{
这是mapDlg
.确认(args).map((res)=>{
如果(res==null){
观察者:下一个(假);
}否则{
观察者:下一个(正确);
}
});
}
);
}

您可能会将可观察视为恒定的数据流,而不是承诺只触发一次。 .of()-创建在指定范围内发出数字序列(或任何其他数据)的可观察对象

您可能需要这样的东西:

this.mapDlg
      .confirm(args)
      .subscribe(res => {
        if (res != null) {
          Observable.create((observer)=> {
            observer.next(true);
        });
        }
      });

您可能会将可观测视为恒定的数据流,而不是承诺只触发一次。 .of()-创建在指定范围内发出数字序列(或任何其他数据)的可观察对象

您可能需要这样的东西:

this.mapDlg
      .confirm(args)
      .subscribe(res => {
        if (res != null) {
          Observable.create((observer)=> {
            observer.next(true);
        });
        }
      });

它创建了一个可观察的,你可以订阅的

您可以看到该函数正在返回一个类型为
Observable
的变量


这就是我如何学会创建Observable,而不是使用
Observable.create
方法

它创建了一个你可以订阅的可观察对象

您可以看到该函数正在返回一个类型为
Observable
的变量


这就是我如何学会创建Observable,而不是使用
Observable.create
方法

如何将其应用于现有观察者函数?我更新了问题Jessie,你需要返回可观察值还是布尔值?是的,你是对的,我从另一个观察者那里得到boolena值,需要在观察者中返回这个值,看我的问题这是对的。而且,言下之意,对话API设计得很糟糕。Andrew,我试着使用这个例子,我还需要使用(tag)的
看:如何将它应用到exist Observer函数?我更新了问题Jessie,你需要返回可观察值还是布尔值?是的,你是对的,我从另一个观察者那里得到boolena值,需要在观察者中返回这个值,看我的问题这是对的。而且,言下之意,对话API设计得很糟糕。Andrew,我尝试使用这个示例,还需要使用(标记)的
of
look: