最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中的observables?操作符創(chuàng)建實例

 更新時間:2022年03月16日 14:45:34   作者:掘金安東尼  
這篇文章主要介紹了JavaScript中的observables?操作符創(chuàng)建實例的相關(guān)資料,文章介紹詳細,需要的小伙伴可以參考一下,希望對你有所幫助

操作符是 observables 背后的馬力,為復(fù)雜的異步任務(wù)提供了一種優(yōu)雅的聲明式解決方案。

本篇就帶領(lǐng)大家 “粗略” 過一下 observable 創(chuàng)建實例的重點 API 都有哪些?以及用代碼片段展示出用法示意~

一、創(chuàng)建實例

1.??create??

??create?? 肯定不陌生吧?使用給定的訂閱函數(shù)來創(chuàng)建 observable ;

// RxJS v6+
import { Observable } from 'rxjs';
/*
? 創(chuàng)建在訂閱函數(shù)中發(fā)出 'Hello' 和 'World' 的 observable 。
*/
const hello = Observable.create(function(observer) {
? observer.next('Hello');
? observer.next('World');
});

// 輸出: 'Hello'...'World'
const subscribe = hello.subscribe(val => console.log(val));

2.??empty??

??empty?? 會給我們一個空的 observable,如果我們訂閱這個 observable ,它會立即發(fā)送 complete 的訊息;

var source = Rx.Observable.empty();

source.subscribe({
? ? next: function(value) {
? ? ? ? console.log(value)
? ? },
? ? complete: function() {
? ? ? ? console.log('complete!');
? ? },
? ? error: function(error) {
? ? ? ? console.log(error)
? ? }
});
// complete!

3.??from?? 

用 ??from?? 來接收任何可列舉的參數(shù)(JS 數(shù)組);

// RxJS v6+
import { from } from 'rxjs';

// 將數(shù)組作為值的序列發(fā)出
const arraySource = from([1, 2, 3, 4, 5]);
// 輸出: 1,2,3,4,5
const subscribe = arraySource.subscribe(val => console.log(val));

4.??of??

與 ??from?? 相似的 ??of??,也是用于操作一個 list,按順序發(fā)出任意數(shù)量的值;

// RxJS v6+
import { of } from 'rxjs';

// 依次發(fā)出提供的任意數(shù)量的值
const source = of(1, 2, 3, 4, 5);
// 輸出: 1,2,3,4,5
const subscribe = source.subscribe(val => console.log(val));

5.??fromEvent??

??fromEvent?? 將事件轉(zhuǎn)換成 observable 序列;

// RxJS v6+
import { fromEvent } from 'rxjs';
import { map } from 'rxjs/operators';

// 創(chuàng)建發(fā)出點擊事件的 observable
const source = fromEvent(document, 'click');
// 映射成給定的事件時間戳
const example = source.pipe(map(event => `Event time: ${event.timeStamp}`));
// 輸出 (示例中的數(shù)字以運行時為準): 'Event time: 7276.390000000001'
const subscribe = example.subscribe(val => console.log(val));

6.??fromPromise??

??fromPromise?? 創(chuàng)建由 promise 轉(zhuǎn)換而來的 observable,并發(fā)出 promise 的結(jié)果;

var source = Rx.Observable
? .fromPromise((resolve, reject) => {
? ? setTimeout(() => {
? ? ? resolve('Hello RxJS!');
? ? },3000)
? })

// 等同于
var source = Rx.Observable
? .from(new Promise((resolve, reject) => {
? ? setTimeout(() => {
? ? ? resolve('Hello RxJS!');
? ? },3000)
? }))

7.??interval??

顯然,??interval?? 操作和時間有關(guān),它基于給定時間間隔發(fā)出數(shù)字序列;

// RxJS v6+
import { interval } from 'rxjs';

// 每1秒發(fā)出數(shù)字序列中的值
const source = interval(1000);
// 數(shù)字: 0,1,2,3,4,5....
const subscribe = source.subscribe(val => console.log(val));

// import { interval } from 'rxjs';
// const source = interval(1000);
// 等同于
// var source = Rx.Observable.interval(1000);

8.??timer??

??timer?? 是 ??interval?? 的升級,用于給定持續(xù)時間后,再按照指定間隔時間依次發(fā)出數(shù)字。

// RxJS v6+
import { timer } from 'rxjs';

/*
? timer 接收第二個參數(shù),它決定了發(fā)出序列值的頻率,在本例中我們在1秒發(fā)出第一個值,
? 然后每2秒發(fā)出序列值
*/
const source = timer(1000, 2000);
// 輸出: 0,1,2,3,4,5......
const subscribe = source.subscribe(val => console.log(val));

到此這篇關(guān)于JavaScript中的observables 操作符創(chuàng)建實例的文章就介紹到這了,更多相關(guān)observables 操作符創(chuàng)建實例內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何在CocosCreator中做一個List

    如何在CocosCreator中做一個List

    這篇文章主要介紹了如何在CocosCreator中做一個List,對List列表感興趣的同學(xué),不妨來試驗一下
    2021-04-04
  • 對Layer UI 模塊化的用法詳解

    對Layer UI 模塊化的用法詳解

    今天小編就為大家分享一篇對Layer UI 模塊化的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 簡短幾句 通俗解釋javascript的閉包

    簡短幾句 通俗解釋javascript的閉包

    什么是閉包呢?閉包就是函數(shù)實例執(zhí)行過程中動態(tài)產(chǎn)生一個沒有被釋放資源的棧區(qū),也是一個預(yù)執(zhí)行的過程。
    2011-01-01
  • webpack下實現(xiàn)動態(tài)引入文件方法

    webpack下實現(xiàn)動態(tài)引入文件方法

    下面小編就為大家分享一篇webpack下實現(xiàn)動態(tài)引入文件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • JS偽繼承prototype實現(xiàn)方法示例

    JS偽繼承prototype實現(xiàn)方法示例

    這篇文章主要介紹了JS偽繼承prototype實現(xiàn)方法,結(jié)合實例形式對比分析了基于prototype實現(xiàn)模擬繼承的相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • JS實現(xiàn)"上次操作未完成禁止新操作"邏輯特事特辦方案

    JS實現(xiàn)"上次操作未完成禁止新操作"邏輯特事特辦方案

    這篇文章主要介紹了詳解JS如何實現(xiàn)"上次操作未完成禁止新操作"的邏輯及思路,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • js實現(xiàn)購物網(wǎng)站放大鏡功能

    js實現(xiàn)購物網(wǎng)站放大鏡功能

    這篇文章主要為大家詳細介紹了js實現(xiàn)購物網(wǎng)站放大鏡功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • javascript 廣告移動特效的實現(xiàn)代碼

    javascript 廣告移動特效的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄猨avascript 廣告移動特效的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Blob對象實現(xiàn)文件上傳下載示例詳解

    Blob對象實現(xiàn)文件上傳下載示例詳解

    這篇文章主要為大家介紹了Blob對象實現(xiàn)文件上傳下載示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • javascript的offset、client、scroll使用方法詳解

    javascript的offset、client、scroll使用方法詳解

    javascript的offset、client、scroll在使用過程中非常頻繁,接下來將對此進行一一介紹,需要了解的朋友可以詳細參考下
    2012-12-12

最新評論

富平县| 教育| 涟源市| 和顺县| 苍溪县| 广水市| 西畴县| 沧源| 龙里县| 海丰县| 宣威市| 丹凤县| 鸡西市| 绥化市| 广平县| 平顺县| 辉南县| 长岭县| 南投县| 通海县| 安多县| 安泽县| 康定县| 七台河市| 瑞金市| 华容县| 黔西县| 新巴尔虎右旗| 灯塔市| 北海市| 枣强县| 集贤县| 棋牌| 台前县| 肥乡县| 芜湖县| 崇仁县| 仁布县| 政和县| 尖扎县| 乌拉特后旗|