Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
Angular 为什么我的代码中从未调用过完整函数_Angular_Typescript_Rxjs - Fatal编程技术网

Angular 为什么我的代码中从未调用过完整函数

Angular 为什么我的代码中从未调用过完整函数,angular,typescript,rxjs,Angular,Typescript,Rxjs,我在学习观察到的东西,尝试一些小东西。除了“observer.complete()”没有调用订阅中的“complete”方法外,其他所有操作都正常工作 我在网上搜索了一下,但没能解决我的问题。我还想知道如何编写通过取消订阅可观察对象而调用的函数。提前谢谢 let observable = new Observable<string>((observer) => { setTimeout(() => { observer.next('new1'); }, 1

我在学习观察到的东西,尝试一些小东西。除了“observer.complete()”没有调用订阅中的“complete”方法外,其他所有操作都正常工作

我在网上搜索了一下,但没能解决我的问题。我还想知道如何编写通过取消订阅可观察对象而调用的函数。提前谢谢

let observable = new Observable<string>((observer) => {
  setTimeout(() => {
    observer.next('new1');
  }, 1000)
  setTimeout(() => {
    observer.next('new2');
  }, 3000)
  setTimeout(() => {
    observer.complete()
  }, 6000)

  }).subscribe((data) => {
  console.log(data),
    (err) => {
      console.log(err)
    },
    ()=>{
      console.log('completed')
    }


})
let observable=新的可观察对象((观察者)=>{
设置超时(()=>{
observer.next('new1');
}, 1000)
设置超时(()=>{
observer.next('new2');
}, 3000)
设置超时(()=>{
观察员:完成()
}, 6000)
}).订阅((数据)=>{
控制台日志(数据),
(错误)=>{
console.log(错误)
},
()=>{
console.log('completed')
}
})

这是因为您只编写了
next
回调

.subscribe((data) => {
     console.log(data)
    }, <=============================================== note } here
    (err) => {
      console.log(err)
    },
    ()=>{
      console.log('completed')
    }
)

你的真棒。我正在寻找根本原因,但没有注意到
}
。也希望与您联系:)
.subscribe(
  console.log,
  (err) => {
    console.log(err)
  },
  () => {
    console.log('completed')
  }
)