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

当我在请求中“return”时,类型“void”上不存在属性“subscribe”

当你在请求中使用"return"时,类型"void"上不存在属性"subscribe"的错误提示意味着你正在尝试在一个没有返回值的函数或方法上使用"subscribe"属性。这通常发生在使用RxJS或其他类似的库进行异步编程时。

在这种情况下,你需要检查你的代码并确保你正在调用一个返回Observable对象的函数或方法。只有Observable对象才具有"subscribe"属性,它用于订阅并处理异步操作的结果。

以下是一些可能导致该错误的常见情况和解决方法:

  1. 检查函数或方法的返回类型:确保你的函数或方法的返回类型是Observable或Promise,而不是void。如果返回类型是void,你将无法使用"subscribe"属性。你可以根据需要更改返回类型,以便返回Observable对象。
  2. 确保你的函数或方法正确地返回Observable对象:如果你的函数或方法应该返回Observable对象,确保你在函数或方法中正确地创建和返回Observable。你可以使用RxJS的操作符(如from、of、interval等)来创建Observable对象。
  3. 检查你的代码中是否存在语法错误:在检查以上两个方面之后,如果仍然出现错误,请仔细检查你的代码是否存在其他语法错误或逻辑错误。这可能导致函数或方法无法正确返回Observable对象。

总结起来,当你在请求中使用"return"时,类型"void"上不存在属性"subscribe"的错误提示意味着你正在尝试在一个没有返回值的函数或方法上使用"subscribe"属性。确保你的函数或方法返回Observable对象,并检查代码中是否存在其他语法或逻辑错误。

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

相关·内容

一篇博客让你了解RxJava

); 例子:来一个简单的例子来了解事件的产生到消费、订阅的过程:从res/mipmap取出一张图片,显示ImageView。...前调用的情况 当我们写两个onError,会先接受前面的所有事件,最后才报错 介绍了ObservableEmitter, 接下来介绍Disposable, 当调用dispose()方法,...RxJava, 当我主线程中去创建一个Observable来发送事件, 则这个Observable默认就在主线程发送事件....当我主线程去创建一个Observer来接收事件, 则这个Observer默认就在主线程接收事件,但其实在现实工作我们更多的是需要进行线程切换的,最常见的例子就是子线程请求网络数据,主线程中进行展示...); 这段代码就做一件事, io 线程加载一张网络图片,加载完毕之后主线程显示到ImageView

49520
  • Angular 从入坑到挖坑 - HTTP 请求概览

    项目中创建一个接口,按照后端返回的数据信息进行属性的定义,用来映射请求的响应信息(Angular 只能将请求响应对象转换成接口类型,不能自动转换成类实例) ng g interface interfaces...执行服务的方法,有时会存在没有回调函数的情况,此时也必须执行 subscribe 方法,否则服务的 HTTP 请求是没有真正发起的 服务的 getAntiMotivationalQuotes...因为这里是以默认的表单提交的方式进行的数据提交,当后端需要修改请求的 body 格式,则需要我们修改请求的 MIME 类型 当需要更改请求的 MIME 类型或是需要添加授权访问的 token 信息这一类的操作...}, this.httpOptions); } } 4.2、捕获错误信息 4.2.1、获取错误信息 涉及到前后端交互的过程,不可避免会出现各种状况,在出现错误时,可以 subscribe 方法...、转化,以及拦截请求的响应信息的双重效果,因此当我们注册了多个拦截器发送请求时会按照我们添加的顺序进行执行,而在接受到请求响应时,则是按照反过来的顺序进行执行 获取到导出的拦截器信息,就可以根模块中去导入需要注册的拦截器

    5.3K10

    Rxjava 2.x 源码系列 - 变换操作符 Map(

    观察者接收事件,是接收到变换后的事件 = 字符串类型 }).subscribe(new Observer() { @Override public void onSubscribe...super U> t) { source.subscribe(new MapObserver(t, function)); } } 在前面博客,我们已经说到,当我们调用... observable 的 subscribeActual 方法 如果有上游的话,会调用上游的 subscribe 方法(即 source.subscribe() 方法),而在 subscribe...当我们调用 observable.subscribe(observer) 的时候 会促发第二个 Observable 的 subscribeAtActual 方法,该方法,又会调用上游 Observable...的包装类 parent 暴露出去 当我我们创建的 ObservableOnSubscribe 的 subscribe 方法,调用 emitter 的 onNext 方法的时候,这个时候会调用到我们的

    40120

    Android面试之EventBus

    ,例如: @Subscribe public void handleEvent(String event) { // do something } 其中,事件类型可以是 Java 已有的类型或者自定义的类型...Subscribe注解可以根据需求指定threadMode、sticky、priority三个属性。...核心的注册事件流程还是我们之前的register()方法subscribe()方法,前边分析subscribe()方法,有一段没有分析的代码,就是用来处理粘性事件的。...EventBus 注册,遍历stickyEvents,如果当前要注册的事件订阅方法是粘性的,并且该方法接收的事件类型和stickyEvents某个事件类型相同或者是其父类,则取出stickyEvents...Class 类型从 SUBSCRIBER_INDEX 查找对应的SubscriberInfo,如果我们注册类定义了订阅事件的方法,则 info不为空,进而上边findUsingInfo()方法findState.subscriberInfo

    57110

    【译】使用RxJava代替EventBus类库

    当我们开始Android项目中使用RxJava的时候,就已经意识到了,我们的代码库可以不再需要Otto了(或其他事件总线类库)。...使用MVP构建代码库 当我开发一款叫做Radyoland的无线流媒体应用的时候,我们决定使用MVP模式来设计我们的代码库和项目架构等。...onFailure(Throwable t) { Timber.e(t.getMessage()); } }); } 当我们通过回调函数进行异步请求的时候,使用...**Activity **或者Fragment 应该在onResume()方法订阅需要的事件,相反地,onPause()对不需要的事件解除订阅。...那就是Android应用的代码库引入并使用RxJava和RxAndroid。 ? 如何使用RxJava 首先,我们需要更改所有REST接口的返回类型

    42320

    熔断器 Hystrix 源码解析 —— 执行结果缓存

    这一步很关键,因为我们不希望缓存不存在,多个线程去执行命令,最好有且只有一个线程执行命令。 「5. HystrixCachedObservable」 详细解析。 第 77 行 :「6....第 87 至 91 行 :返回的 Observable ,订阅一些清理的处理逻辑。...当使用 THREAD 隔离, #subscribe(replaySubject) 调用完成,实际命令并未开始执行,或者说,这是一个异步的执行命令的过程。那么,会不会影响返回执行结果呢?...当使用 SEMAPHORE 隔离, #subscribe(replaySubject) 调用完成,实际命令已经执行完成,所以即使 AbstractCommand#toObservavle(...)...父类的基础,增加了对 AbstractCommand.executionResult 的关注。

    1.1K70

    【译】使用RxJava代替EventBus类库

    当我们开始Android项目中使用RxJava的时候,就已经意识到了,我们的代码库可以不再需要Otto了(或其他事件总线类库)。...使用MVP构建代码库 当我开发一款叫做Radyoland的无线流媒体应用的时候,我们决定使用MVP模式来设计我们的代码库和项目架构等。...onFailure(Throwable t) { Timber.e(t.getMessage()); } }); } 当我们通过回调函数进行异步请求的时候,使用...Activity 或者Fragment 应该在onResume()方法订阅需要的事件,相反地,onPause()对不需要的事件解除订阅。...那就是Android应用的代码库引入并使用RxJava和RxAndroid。 ? 如何使用RxJava 首先,我们需要更改所有REST接口的返回类型

    74520

    Java微信公众平台开发(二)--微信服务器post消息体的接收

    在上一篇的文章我们详细讲述了如何将我们的应用服务器和微信腾讯服务器之间的对接操作,最后接入成功,不知道你有没有发现在上一篇的【controller】我定义了一个get方法和一个post方法,但是使用过程我们就用了...当我完成了服务器验证之后,此后用户每次向公众号发送消息、或者产生自定义菜单点击事件,开发者填写的服务器配置URL将得到微信服务器推送过来的消息和事件,然后开发者可以依据自身业务逻辑进行响应,例如回复消息等...:微信服务端推送的所有消息体的类型格式都是xml格式; (二)消息重试机制 微信服务器五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。...} 164 } 165 }; 166 } 167 }); 168 } 当你试图自己电脑添加这个类...那么当我们在这里将我们代码发布之后再公众号发送消息,们的后台就能看到我们的消息体进入并解析成功了。

    2.2K71

    Android Vehicle HAL架构

    VehicleHal获取/设置属性流程 5.1. subscribe订阅属性 5.2. subscribe序列图 5.3. set设置属性请求流程 5.4. get获取属性请求流程 5.5. set和get...: int32_t { //静态属性,不支持subscribe订阅,只能get获取 STATIC = 0x00, //ONCHANGE这个类型属性当变化时必须上报 /.../调用get接口获取当前值; //set接口是异步的,当属性读取(调用get接口)属性设置(调用set接口)之后,也有可能获取到的是旧值,除非从硬件反馈属性的确发送变化 //我们大多数属性都是这个类型...VehicleHal获取/设置属性流程 5.1. subscribe订阅属性 CarServiceonCreate创建ICarImpl,构造函数new VehicleHal对象,然后又在CarImpl...消息”类型的消息,会将消息转发至希望接收的进程 6.2.

    6.1K33

    Dubbo服务调用原理

    从dubbo的架构设计,我们可以看出服务启动,除了本地暴露服务之外会把服务注册到注册中心,那么作为消费端,服务启动的时候则会向注册中心订阅需要调用的服务,然后调用的时候通过注册中心拿到的地址做负载后选择合适的服务...(url, this); } 此处的registry类型是ListenerRegistryWrapper,继续看其subscribe实现: @Override public void subscribe...然后检测用户配置的客户端类型是否存在,不存在则抛出异常。最后根据 lazy 配置决定创建什么类型的客户端。...Server 收到请求后,首先要做的事情是对数据包进行解码。然后将解码后的请求发送至分发器 Dispatcher,再由分发器将请求派发到指定的线程池上,最后由线程池调用具体的服务。...包装Invoker信息以及建立与服务端的Netty连接,然后调用远程服务,从集群Invoker通过负载均衡找到合适的Invoker,通过Netty的Channel发送请求数据,然后服务端接收到请求数据

    1.3K83

    开发中经常遇到的JavaScript问题整理(超实用)

    length 属性的 // so (() => 1).length === 0; // 输出 true (a => a).length; // 输出 1 数组字符串键值的处理 JavaScript...数组是通过数字进行索引,但是有趣的是他们也是对象,所以也可以包含 字符串 键值和属性,但是这些不会被计算在数组的长度(length)内 如果字符串键值能够被强制类型转换为十进制数字的话,它就会被当做数字索引来处理...当 replacer 是一个数组,那么他必须是一个字符串数组,其中包含序列化要处理的对象的属性名称,除此之外的属性就会被忽略 const obj = { a: 42, b: 30, c:...100, }; JSON.stringify(obj, ['a', 'c']); // {"a":42,"c":100} 当 replacer 是一个函数,他会对对象本身调用一次,然后在对对象的每个属性各调用一次...api 不止存在 Number 的原型,Array、Object、Date 原型都有这个 api,并且格式化出来的值可以根据我们传入的参数出现各种结果 参数及用法可以参考 MDN 深度冻结对象

    1.5K10

    Apache Dubbo 2.7孵化版整理 顶

    基本现在主流的注册模式都有了。 ? 这种一看就是模版方法模式,其中Registry接口继承与两个接口Node,RegistryService,它自己本身没有任何方法。 /** * Node....*/ void subscribe(URL url, NotifyListener listener); /** * 取消订阅 */ void unsubscribe...Set registered = new ConcurrentHashSet(); 这个URL是Dubbo自己封装的一个类,其中包含了例如协议、用户名、密码、主机、端口号、路径、参数等的属性...此处可以看到订阅对象是一个URL对应一组监听器 @Override public void subscribe(URL url, NotifyListener listener) { if (url...()) { logger.info("Subscribe: " + url); } //如果订阅对象没有该url的键,则创建该键对应的集合,集合添加监听器listener

    54310

    Rxjs&Angular-退订可观察对象的n种方式

    方式一 "常规"的取消订阅的方式 最简单的订阅和取消订阅一个可观察对象的方式是 ngOnInit 方法订阅可观察对象(Observable), 然后组件类创建一个类属性用来保存这个订阅(Subscription...但是当我们有多个订阅对象(Subscription), 针对每一个我们都需要在组件类创建一个字段保存这个对象的的引用并在 ngOnDestroy 调用 unsubscribe来取消订阅....我们的示例, 我们希望组件被销毁后发出通知, 所以我们给组件类添加一个叫 componentDestroyed$ 的字段, 它的类型是 Subject, 这个字段承担了通知人(notifier....next(); } } 与之前常规的方式相比, 这种方式我们有多个订阅对象不必组件类创建多个字段保存对订阅对象的引用....然后组件类创建一个SubSink类型的字段. SubSink有两种方式, 一种是简单技术(使用sink属性设置器), 另一种是 数组/添加(Array/Add)技术.

    1.2K00

    Rxjs源码解析(一)Observable

    _subscribe = subscribe; } } // ...}Observable的初始化方法很简单,就是将回调函数绑定到实例的 _subscribe属性subscribeObservable...方法属性进入 subscribe方法subscribe( observerOrNext?...subscriber;}subscribe的第一个参数可以是一个 subscriber(具有 next、error、complete三个属性,所以类型合法),不过这种传参形式一般都是库内部使用,我们正常写法还是传入一个纯粹的对象或者方法...acc + value; }, 0)).subscribe(total => console.log('Total:', total));pipepipe 的类型签名很多,实际是为了辅助类型的自动推导...,只要 pipe传入的参数数量 9 个及以内,则就可以正确推导出类型,而一旦超过 9个,自动推导就失效了,必须使用者自己指定类型// node_modules/rxjs/src/internal/Observable.tspipe

    1.7K50
    领券