Tôi đang sử dụng RxJS tại đây và dường như không thể vượt qua được điều này dường như vấn đề đơn giản.RxJS: Tách kết quả mảng từ Observable.fromPromise
rx.Observable
.from([1,2,3,54,3,22,323,23,11,2])
.distinct()
.subscribe(function next (x) {
console.log('Next');
console.log(x);
}, function error (x) {
console.log('Error');
console.log(x);
}, function completed() {
console.log('Completed');
});
Mã trên kích hoạt từng mục mảng theo thứ tự như mong đợi.
rx.Observable
.fromPromise(getNumbers([1,2,3,54,3,22,323,23,11,2]))
.distinct()
.subscribe(function next (x) {
console.log('Next');
console.log(x);
}, function error (x) {
console.log('Error');
console.log(x);
}, function completed() {
console.log('Completed');
});
function getNumbers (nums) {
return new Promise(function (resolve, reject) {
resolve(nums);
});
}
Ở đây mặc dù tôi chỉ nhận được mảng đầy đủ (ví dụ: [ 1, 2, 3, 54, 3, 22, 323, 23, 11, 2 ]
). Không nên RxJS phá vỡ kết quả ngoài? Tôi hy vọng nó ít nhất cũng có một số logic cho việc này.
Cảm ơn bạn
Ngoài ra tôi sẽ hoàn toàn sẵn sàng để thực hiện một số loại thay đổi mà có thể biến những dòng * sau * lời hứa đã được giải quyết .. ví dụ nhận mảng đầy đủ (1 mục trong luồng) và biến nó thành các mục array.length trong luồng. –