为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁花不似锦 2021-11-25 19:27:39
下面是一个对我有用的最小示例:包.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.
查看完整描述

2 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

原来使用以下方法很简单


 const curTime$ = videoStreams.currentTime$.pipe(

  throttle(() => interval(10000))

);

它不是每三分之一秒左右返回一次玩家的位置,而是通过限制它返回时间点(我分配给它的)的值。


查看完整回答
反对 回复 2021-11-25
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

使用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));

      }

}


查看完整回答
反对 回复 2021-11-25
  • 2 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信