1
我已經從「https://chrisnoring.gitbooks.io/rxjs-5-ultimate/content/observable-anatomy.html」以下代碼:如何/何時從Observable.create返回的函數執行(rxjs)
const Observable = require('rxjs/Observable').Observable;
require('rxjs/add/observable/of');
require('rxjs/add/operator/map');
let stream = Observable.create((observer) => {
let i = 0;
let id = setInterval(() => {
observer.next(i++);
}, 500);
return function() { // Line 11
clearInterval(id);
};
})
let subscription = stream.subscribe((value) => {
console.log('Value: ', value);
})
setTimeout(() => {
subscription.unsubscribe();
}, 1500);
該程序的輸出是下面。 'Value:1'輸出後程序自動終止。
> node index.js
Value: 0
Value: 1
由於語句返回一個函數引用和返回功能沒有得到以外的任何地方叫,是,如何/何時從線路11返回功能被執行我的問題?我們可以肯定地推斷它正在被執行,因爲定時器實際上已經被清除,節點正在終止程序。