首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angular 8类型“void”不能赋值给类型“ObservableInput<any>”

Angular 8中的类型“void”表示一个函数没有返回值。而类型“ObservableInput<any>”表示一个可以被观察的对象,它可以发出任意类型的值。

在Angular开发中,当我们尝试将类型为“void”的值赋给类型为“ObservableInput<any>”的变量时,会出现类型不匹配的错误。这是因为这两种类型是不兼容的。

要解决这个问题,我们可以使用RxJS库中的Observable对象来创建一个可观察的流,并将其返回给调用者。例如,我们可以使用Observable.create()方法来创建一个Observable对象,并在其中执行我们的异步操作。然后,我们可以在操作完成后调用Observable的next()方法来发出一个值,或者调用error()方法来发出一个错误。

以下是一个示例代码:

代码语言:txt
复制
import { Observable } from 'rxjs';

function myAsyncFunction(): Observable<any> {
  return new Observable(observer => {
    // 执行异步操作
    setTimeout(() => {
      // 模拟异步操作完成后发出一个值
      observer.next('Hello World');
      observer.complete();
    }, 1000);
  });
}

// 调用异步函数并订阅返回的Observable对象
myAsyncFunction().subscribe(value => {
  console.log(value);
}, error => {
  console.error(error);
});

在上面的示例中,myAsyncFunction()函数返回一个Observable对象,该对象在异步操作完成后发出一个值。我们可以使用subscribe()方法来订阅这个Observable对象,并在值发出时执行相应的操作。

关于Observable和RxJS的更多信息,你可以参考腾讯云的产品文档:RxJS

需要注意的是,以上只是解决“Angular 8类型‘void’不能赋值给类型‘ObservableInput<any>’”错误的一种方式,具体解决方法还要根据具体情况进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • TypeScript 快速入门(基础篇)

    现在Vue 3.0 今年预计更新了,底层采用TS 编写, React 已经采用 TS 编写 Angular 很早就采用TS 了 前端三大巨头框架都已采用,可知TypeScript的重要性了。...any any 为 任意类型,一般在获取dom 使用 // 任意类型 const newArrs:any = ['测试不同数据 ',222,false] console.log(newArrs) #...的子类型 别的类型不能赋值never类型, 而 never 类型可以赋值任意类型 void 类型 void 为 函数没有类型,一般用在没有返回值的函数 # 如果方法类型为number, 则必须返回内容..., 内容且必须为数字 function add():number{ return 2323; } # 如果方法类型void,不需要返回内容 function getAdd():void{...names = 'XiaoMing' 此时names的变量类型为 string names = 22 // TS 已经推断出了names 类型为string,而不能赋值为 其它类型 console.log

    98320

    视频截图并上传

    的数据 通过接口上传到服务器,这里可以采用下面的两种方式 直接将 base64 作为数据传递给后端,后端进行转文件存储 前端将 base64 数据转文件数据后传递给后端,后端进行文件存储 下面,我们通过 angular...该服务的内容可如下: import { UrlService } from '@services/url.service'; import { HttpClient } from '@angular/common...: data.base64 }); } } 当然,这一步,我们可以将 base64 赋值 img 的 src 属性,来预览图片效果 嗯,我们可以采用另一种方式到后端处理。.../png', 1); data = data.split(',')[1]; data = window.atob(data); const ia = new Uint8Array(data.length...this.http.post(`${ this.urlService.screenShotUrl() }`, formData); } 往期精彩推荐 Flutter 仿写新闻客户端 Dart 知识点 - 数据类型

    1.8K10

    TypeScript 基础教程

    null、undefined: null,undefined :同js值类型,默认是所有类型的⼦类型所以,可以任意类型的变量赋值null、undefined any: 定义:任意值类型,可以赋值任意值类型...当前并无支持 type 类型别名 *** 定义:⼀个类型起⼀个新的名字,使⽤ type 作为声明关键字。...常用于复合类型数据变量的类型声明。 对象类型约定使用大写字母开头 。type 声明的类型,里面包含的属性必须刚好全部满足,不能多也不能少,否则编译将报错,可选属性除外。...let fun71: any; fun71 = function(): void { console.log("I'm fun71"); } function fun72(): any { return...如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成 any 类型而完全不被类型检查 let foo; foo = 'bar'; foo = 18; //ok 特别对于联合类型时,类型推论会限制到只能访问联合类型类型的共有属性

    1.1K20

    TypeScript类型声明

    (任意类型)声明变量类型any时编译时会绕过所有类型的检测,直接通过编译阶段的检查可以任意访问属性的方法和属性any类型可以赋值任意类型如果变量初始没有定义类型,默认为any;经过赋值后,TS会根据赋值类型来标识变量的类型...五、unknow(未知类型)声明变量类型为unknow时安全性更高它用于描述类型不确定的变量,这与any类型相似,但更安全,因为对未知值做任何事情都是不合法的unknown类型只能赋值any和unknown...类型any类型可以赋值任意类型unknown,never都不允许执行变量的方法以及访问内部属性在unknown没有被断言或细化到一个确切类型之前,unknown不可以赋值其它类型,除了它自己和any...类型的变量let testValue1: unknown = unknownValue;//赋值any类型的变量let testValue2: any = unknownValue;错误示范://赋值...即使any类型也不可以赋值never类型。返回类型为never的函数中,其终点必须是不可执行的,例如函数过程中抛出了错误或者存在死循环。

    36730

    【Vue3+TypeScript】CRM系统项目搭建之 — 关于拥抱 TypeScript 这件事【上】

    ' //不能类型“"未知"”分配给类型“"男" | "⼥"” 4.2. any any 的含义是:任意类型,⼀旦将变量类型限制为 any ,那就意味着放弃了对该变量的类型检查。...//明确的表示a的类型any —— 显式的any let a: any //以下对a的赋值,均⽆警告 a = 100 a = '你好' a = false //没有明确的表示b的类型any,但TS主动推断了出来...—— 隐式的any let b //以下对b的赋值,均⽆警告 b = 100 b = '你好' b = false 注意点: any 类型的变量,可以赋值任意类型的变量 /* 注意点:any类型的变量...void 的含义是: 空 或 undefined ,严格模式下不能将 null 赋值 void 类型。...“number”的参数不能类型“Demo”的参数 test({name:'张三'}) // 类型“{ name: string; }”的参数不能类型“Demo”的参数 test('123') test

    12110

    Java程序员的Angular快速指南 | 洞见

    你可以把 TypeScript 的类型看做仅仅编译器和 IDE 用的。...当然,也不能滥用它们。对于一次性使用或暂时一次性使用的变量或类型,用字面量和匿名类型很方便,可读性也好,但是如果它要使用两次以上,那就该重构成正式的类型了。...不必完全禁止 any,但如果你要使用 any,请务必先想清楚自己要做什么。 void 如果你在 Java 中经常使用 void,那就遵循同样的原则用在 TypeScript 中。...像后端那样委托服务?没问题! 像 Redux 那样委托单一 Store?没问题! 像 Java 8 Stream 那样用流水线生成?没问题! 自己几乎不处理,完全委托后端 API?没问题!...相对于 Java 8 Stream,RxJS 的限制稍微宽松一些,但我建议你仍然按照 Java 那种严格的方式使用它(比如不要对流外的变量赋值)。

    2.4K42

    【TypeScript】TS类型声明(四)

    any(任意类型)声明变量类型any时编译时会绕过所有类型的检测,直接通过编译阶段的检查可以任意访问属性的方法和属性any类型可以赋值任意类型如果变量初始没有定义类型,默认为any;经过赋值后,TS...unknow(未知类型)声明变量类型为unknow时安全性更高它用于描述类型不确定的变量,这与any类型相似,但更安全,因为对未知值做任何事情都是不合法的unknown类型只能赋值any和unknown...类型any类型可以赋值任意类型unknown,never 都不允许执行变量的方法以及访问内部属性在unknown没有被断言或细化到一个确切类型之前,unknown不可以赋值其它类型,除了它自己和any...类型的变量let testValue1: unknown = unknownValue;//赋值any类型的变量let testValue2: any = unknownValue;错误示范://赋值...变量也可以声明为never类型,但其不能赋值设置变量类型为never,表示永远不能执行完或者永远Error,具体示例如下:函数中出现了死循环,永远不能执行完,因此其函数类型为:() => neverfunction

    21310

    【文末送书】Typescript 使用日志

    •数字•字符串•布尔类型•null•undefined•any•unknown•void•object•枚举•never 2、复合类型,包含多个单一类型类型。...•数组类型•元组类型•字面量类型•接口类型 3、如果一个类型不能满足要求怎么办? •可空类型,默认任何类型都可以被赋值成 null 或 undefined。...:字符串和数字•函数类型接口•类添加类型,构造函数类型 接口中除了可以定义常规属性之外,还可以定义可选属性、索引类型等。...•Partial,将 T 中的类型都变为可选。•Exclude,从 T 中剔除可以赋值 U 的类型。•Extract,提取 T 中可以赋值 U 的类型。...待办事项应用程序 第6章介绍如何使用Socket.IO构建一个聊天室应用程序 第7章介绍如何使用必应地图和Firebase创建基于云的Angular地图应用程序 第8章介绍如何使用一个等效的基于React

    2.9K10

    TypeScript不学?你养我啊

    这种情况是 显示的any let no_use : any 而在定义变量时,不赋值,就是 隐式any 。Ts检测到没有指定类型,然后添加类型any。 let d; !!!!! 不建议使用。...let e:unknown e = 12 e ='sss' any和unknown的区别 如下,any类型的值可以赋值字符串。...any可以霍霍别人儿 let no_use:any let str:string str = no_use 而 把unknown赋值别的类型 就会报错。...let str:string let e:unknown e ='sss' str = e unknown类型实际上是一个类型安全的any,unknown类型的变量不能赋值其他变量 unknown类型赋值...既然在这里提了这个问题,那肯定是用void。 在vsCode编辑器中null返回值不能使用void类型,对于null类型的可以如下面的下面的写法。 而在webstorm中就是可以的。

    89220

    vue2.x老项目typescript改造过程经验总结

    ; }   } } 项目改造到这里就基本结束了 TS一些注意事项 这部分对于刚刚改造,需要提醒成员的事项 TS类型 any any,这个东西好用,但是,如果完全放开的话,相信我,带最最后可能基本都是any...可选属性vs null undefined null 和 undefined 是 ts 中的基础类型,分别具有值 null 和 undefined,默认情况下它们是所有类型的子类型,即可以赋值任意类型...null与undefined是所有其它类型的一个有效值。 这也意味着,你阻止不了将它们赋值其它类型,就算是你想要阻止这种情况也不行。...tsconfig.js 文件中设置 strictNullChecks 为 true 时,就不能将 null 和 undefined 赋值除它们自身和 void 之外的任意类型了。...在这种严格检查的情况下,如果你确实在某个地方想要给一个其他类型的值设置初始值为空,然后再赋值,可以使用联合类型来实现。

    5.4K51
    领券