typescript 使用setTimeout异步观察

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript 使用setTimeout异步观察相关的知识,希望对你有一定的参考价值。

import {Observable} from "rxjs";
let numbers = [1,5,10];
let source = Observable.create(observer=>
    {
        let index = 0;
        let produceValue = ()=>{
            observer.next(numbers[index++]);
            if (index<numbers.length){
                setTimeout(produceValue,2000);
            }
            else{
                observer.complete();
            }
        }
        produceValue();
    }
);

source.subscribe(
    value=>console.log(`value:${value}`),
    e=>console.log(`error: ${e}`),
    ()=>console.log("complete")
);

以上是关于typescript 使用setTimeout异步观察的主要内容,如果未能解决你的问题,请参考以下文章

带有 Typescript 错误的玩笑:超时 - 在 jest.setTimeout.Timeout 指定的 5000 毫秒超时内未调用异步回调

使用 typescript 将异步操作发送到 redux 调度

TypeScript之异步函数

在 setTimeout 中使用异步是不是有效?

使用setTimeout跳转到(Typescript).forEach循环中的下一次迭代

javascript真的是异步的吗?且看setTimeout的实现原理以及setTimeout的使用场景