gpt4 book ai didi

angular - 声明类型既不是 'void' 也不是 'any' 的函数必须返回一个值

转载 作者:太空狗 更新时间:2023-10-29 17:09:46 24 4
gpt4 key购买 nike

在我的 angular2 应用程序中,我有向 url 发送获取请求的服务。

这是我的服务:

import {Http} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import {Injectable} from '@angular/core';
import {Gallery} from './gallery';

@Injectable()
export class InstagramService{

constructor(private _http:Http){

}

getGallery(username: string) : Observable<Gallery> {
var result=this._http.get("https://www.instagram.com/"+username+"/media/").map(res => res.json());
}

}

我已将返回类型定义为 Observable<Gallery> ,但它提示说:

A function whose declared type is neither 'void' nor 'any' must return a value

这段代码出了什么问题?

最佳答案

如果你声明了一个返回类型,那为什么不返回任何东西呢?

在这种情况下,通常这就是您想要的。

getGallery(username: string) : Observable<Gallery> {
return this._http.get("https://www.instagram.com/"+username+"/media/").map(res => res.json());
}

var result 可能不是您所期望的,因为 _http.get(...) 返回一个 Observable 而不是一个值。

getGallery() 的调用者随后可以订阅以在值到达时收到通知。

instagramService.getGallery.subscribe((result) => this.galleryData = result);

当一个值到达时 (result) => this.galleryData = result 被调用并且 result 被分配给你的 galleryData当前组件或服务。

关于angular - 声明类型既不是 'void' 也不是 'any' 的函数必须返回一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38837261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com