RXJS。每隔几秒从媒体流中获取价值

下面是一个对我有用的最小示例:


包.json:


{

  …

  "devDependencies": {

    "css-loader": "^3.2.0",

    "mini-css-extract-plugin": "^0.8.0",

    "node-sass": "^4.12.0",

    "optimize-css-assets-webpack-plugin": "^5.0.3",

    "sass-loader": "^8.0.0",

    "webpack": "^4.40.2",

    "webpack-cli": "^3.3.9"

  }

}

webpack.config.js:


const path = require("path");

const MiniCssExtractPlugin = require('mini-css-extract-plugin');

const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');


module.exports = {

  …

  module: {

    rules: [

      { // CSS assets remaining in the pipeline (e.g. frameworks)

        test: /\.css$/,

        use: [

          "style-loader", // or e.g. "vue-style-loader" etc. (optional)

          MiniCssExtractPlugin.loader,

          "css-loader"

        ]

      },

      { // SCSS

        test: /\.scss$/,

        use: [

          "style-loader" // (optional)

          MiniCssExtractPlugin.loader,

          "css-loader",

          "sass-loader"

        ]

      }

    ]

  },


  // Plugins

  plugins: [

    new MiniCssExtractPlugin({

      filename: "./css/my-style.css" // relative to `output.path` by default

    }),

    new OptimizeCssAssetsPlugin() // construction suffices, no additional calls needed

  ]

};

该node-sass模块已经输出缩小的 CSS,所以如果您知道在您的项目中不会遇到任何原始 CSS,您可以去掉OptimizeCssAssetsPlugin.


繁花不似锦
浏览 198回答 2
2回答

喵喵时光机

原来使用以下方法很简单 const curTime$ = videoStreams.currentTime$.pipe(  throttle(() => interval(10000)));它不是每三分之一秒左右返回一次玩家的位置,而是通过限制它返回时间点(我分配给它的)的值。

哆啦的时光机

使用switchMap替代“switchMap 和其他扁平化操作符之间的主要区别在于取消效果。在每次发射时,前一个内部可观察对象(您提供的函数的结果)被取消并订阅新的可观察对象。”阅读更多关于 switchMap 的内容import { Component } from '@angular/core';import { interval,of } from 'rxjs';import { flatMap,switchMap } from 'rxjs/operators';@Component({  selector: 'my-app',  templateUrl: './app.component.html',  styleUrls: [ './app.component.css' ]})export class AppComponent  {  name = 'Angular';  currentTime$ = of(1,2,3,4,5,6,7,8)  ngOnInit() {    const int = interval(5000);    const subscription = int      .pipe(switchMap(() => this.currentTime$ ))      .subscribe(val => console.log("TIME", val));      }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript