App.service file looks like this:
import { Injectable } from '@nestjs/common';
import { HttpService } from '@nestjs/axios';
import { Observable, firstValueFrom } from 'rxjs';
// import { firstValueFrom } from 'rxjs';
@Injectable()
export class AppService {
constructor(private httpService: HttpService) {}
async getWeatherForecasts() {
const url =
'http://www.7timer.info/bin/api.pl?lon=113.17&lat=23.09&product=astro&output=json';
const { data } = await firstValueFrom(this.httpService.get(url));
return data;
}
}
Package.json File looks like this:
"dependencies": {
"@fmr-pr103625/nest-scaffold": "^1.5.5",
"@nestjs/apollo": "^10.0.9",
"@nestjs/axios": "0.0.7",
"@nestjs/common": "^7.6.18",
"@nestjs/core": "^7.6.18",
"@nestjs/graphql": "^10.0.9",
"@nestjs/platform-express": "^7.6.18",
"apollo-server-express": "^3.6.7",
"axios": "^0.27.2",
"graphql": "^16.3.0",
"graphql-tools": "^8.2.8",
"isomorphic-fetch": "^3.0.0",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"rxjs": "^5.5.10",
"rxjs-compat": "^6.6.7",
"ts-morph": "^14.0.0"
},
-----------------**********************--------------------------------
I am not able to import firstValueForm from rxjs.
Things i already tried:
- to downgrade the version of rxjs from 6.
CodePudding user response:
firstValueFrom
introduce in Rxjs 7
as a replacement of toPromise