這是一個基本的rxjs問題,我無法找到答案。說我讓一個可觀察的字符串,然後經過一段時間,我想給它分配一個新的值。新值似乎沒有被觀察到,因爲它沒有被記錄。我知道rx正在工作,因爲初始值被記錄爲一系列字符。你能解釋一下我做錯了什麼,以及爲了能夠記錄這個新值,我需要修改什麼?在這裏,我使用setTimeout函數來更新變量,但實際上它將是一個返回保存該值的JSON對象的ajax請求。訂閱從字符串Rx.Observable無法處理值賦值
var observableId = "hwebd788ew98ew9";
var sourceAid = Rx.Observable.from(observableId);
var subscriptionAid = sourceAid.subscribe(
function (x) {
console.log('changed!', x);
},
function (err) {
console.log('Error: ' + err);
},
function() {
console.log('Completed');
});
setTimeout(function() {
observableId = "yrth5yu56uy56";
}, 2000);
您的代碼不工作,(https://runkit.com/embed/2jmrvfbv9u27)......因爲'Observable's沒有'。下一個'方法。 'Observer'確實有'.next'方法。這就是爲什麼你會使用'Observer'和'Observable'這兩個'Subject'或'BehaviorSubject'。 – dovidweisz
runit不可編輯。由於您的sourceAid已訂閱,因此需要更新。不是可觀察的ID。 –
頁面底部有一個「克隆和編輯」按鈕? – dovidweisz