Почему я не получаю данные, когда звоню из Angular 2 в мой Nodejs API, который запрашивает BD SQL Server?

спокойной ночи всем. У меня есть приложение Angular2, которое запрашивает API, созданный в NODE.JS. Этот API использует пакет MSSQL.JS для запроса моей базы данных в SQL SERVER. У меня проблема в том, что в компоненте Angular 2 я не получаю JSON, который возвращает API, однако, если я помещаю путь API в браузер, он возвращает данные.

Мой API:

const sql = require('mssql');
const bd = require('./sqlServer');

module.exports = (app, ruta) => {
  const conn = new sql.Connection(bd.config);
  const reqSQL = new sql.Request(conn);
  let respuesta = {};
  conn.connect((err) => {
    if(err){
        console.log("Error al conectar la BD: " + err);
        return;
    }
  })


 app.get(`${ruta}/produccion/:cs/:cr`, (req, res) => {
    reqSQL.query(`Select top 3 * from produccion where cs=${req.params.cs} and cr=${req.params.cr} and activo=1`)
        .then(recordset =>{
            res.json(recordset);
        })
        .catch(err =>{
            console.log("No se pudo consultar")
        })

});

МОЙ СЕРВИС В УГЛОВОЙ 2:

import { ProduccionService } from './../servicios/produccion.service';
import { Observable } from 'rxjs/Observable';
import { Component, OnInit, Injectable } from '@angular/core';
import { ProduccionModel } from './../modeloDatos';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

export class AppComponent implements OnInit {

  produccion: ProduccionModel[];

  constructor(private produccionService: ProduccionService){};

  ngOnInit(){
    this.produccionService.getProduccion$().subscribe((prod) => {
      this.produccion = prod;
    });   
  }
}

В объекте «prod» в рамках подписки наблюдаемого я получаю «undefined». С некоторыми console.log () внутри службы и API, я мог видеть, что console.log () моего компонента печатается на консоли раньше, чем у службы, поэтому я понимаю, что в службе есть некоторая задержка. У сервиса есть обещание, но я не могу найти его, чтобы заставить его работать. Я не знаю, правильно ли обещание или я потребляю наблюдаемый колодец. По этой причине я прошу сообщество оказать помощь.

Большое спасибо, привет, Пабло.

0
задан 26.12.2016, 04:02
0 ответов

Если ты не будешь предоставлять также код услуги, в которой осуществляется просьба, не будет возможно помогать тебе правильно с вышеупомянутой проблемой. Так как второй предмет кода, который ты поместил, не услуга, это компонент, где работает услуга.

0
ответ дан 03.12.2019, 17:59