当前位置: 首页 > 知识库问答 >
问题:

typescript-2promise。x给出错误:无法调用其类型缺少调用签名的表达式

羊渝
2023-03-14

在从2. x升级到4. x并将types cript升级到2. x后,开始出现以下错误,该错误与以前的版本配合良好

无法调用其类型缺少调用签名的表达式。类型'((未完成?:(值:MediaStream)=

我的代码如下

getMediaStream(options:{video: boolean, audio: boolean}) {
    let self: Caller = this;
    return self.getUserMedia(options)
      .then(stream => {
        console.log('got our media stream:', stream);
        self.privateMedia = createObjectURL(stream);
        self.privateStream = stream;
        return stream;
      })
      .catch(() => {
        console.log('Could not get access to microphone & camera');
      });
  }

  public getUserMedia(constraints) {
    if (window.navigator.mediaDevices && window.navigator.mediaDevices.getUserMedia) {
      return window.navigator.mediaDevices.getUserMedia(constraints);
    }

    return new Promise((resolve, reject) => {
      const getMedia = window.navigator.getUserMedia;
      if (!getMedia) reject(new Error('Browser unsupported'));
      getMedia.call(navigator, constraints, resolve, reject);
    });
  }

共有1个答案

彭星津
2023-03-14

打字self。getUserMedia(选项)到任何/promise解决了问题。

所以我使用了以下代码,它起了作用:

getMediaStream(options:{video: boolean, audio: boolean}) {
    let self = this;
    return (<Promise>self.getUserMedia(options))// in place of promise 'any' or other any superclass to promise will work as well 
      .then(stream => {
        console.log('got our media stream:', stream);
        self.privateMedia = createObjectURL(stream);
        self.privateStream = stream;
        return stream;
      }).catch(() => {
        console.log('Could not get access to microphone & camera');
      });
  }
 类似资料:
  • 问题内容: 我是打字稿的新手,并且有两节课。在父类中,我有: 在儿童班,我有: showMore和ShowLess都给我一个错误,“无法调用类型缺少调用签名的表达式”。 但是,我认为setProp返回的函数确实具有呼叫签名吗?我认为我误解了有关函数类型的一些重要信息,但我不知道它是什么。 谢谢! 问题答案: 它返回的函数具有一个调用签名,但是您告诉Typescript通过添加其签名来完全忽略它。

  • 我将Angular 2与TypeScript 2一起使用。 当我使用 它给我错误: 错误TS2349:无法调用其类型缺少调用签名的表达式。

  • 我正在尝试将html2Canvas库用于Angular 8项目。 我还尝试在我的项目中通过安装html2Canvas类型,但它仍然不起作用。 模板: 组件: 我的意图是将表单呈现为画布,但应用程序抛出错误: src/app/grid/pdf-viewer/pdf-viewer中出错。组成部分ts(19,5):错误TS2349:无法调用其类型缺少调用签名的表达式。键入“typeof import(“

  • 我得到“无法调用其类型缺少调用签名的表达式。类型'typeof import("weealert2")'没有兼容的调用签名。”在角度使用SWAL时出现此错误。 在一个组件中,我的代码如下所示 在组件中,我得到了上面提到的错误。搜索了很多,但无法找出问题。请帮助我。

  • 问题内容: 我收到以下查询的ORA:00936错误。请让我知道查询中的问题 问题答案: SELECT convert(DATE,r.created_dt)作为created_dt 问题在于错误使用了 CONVERT 函数。请参阅文档。 我猜您正在尝试转换数据类型,可以使用 TO_DATE 将字符串转换为日期。或者, TO_CHAR 反之亦然。

  • 我一直试图搜集一些推特的数据,但每次运行此代码时,都会出现错误:调用“print”时缺少括号。 有人能帮我解决这个问题吗? 感谢您的时间:)