В прошлом году, когда я работал над созданием навыка Alexa, я обычно определял сервис:
service.ts
var createReport = function(variable,callback){
//Method code here
};
module.exports.createReport = createReport;
И этоЯ использовал его для вызова в:
app.ts
const service= require('../service.ts');
servicee.createReport (name,function=> {
//Callback function code here
}
)
В этом году я создаю приложение Angular, в котором манипулирование службами отличается отпредыдущий пример.
Вот пример службы управления состоянием в моем угловом приложении:
service.ts
import { Injectable } from "@angular/core";
import { BehaviorSubject } from "rxjs";
@Injectable()
export class listOfThirdPartiesService {
constructor() {}
/************************************************** */
private listOfThirdPartiesValuesSource = new BehaviorSubject<string[][]>([
['','','','','','','',''],
['','','','','','','',''],
['','','','','','','',''],
['','','','','','','',''],
['','','','','','','',''],
['','','','','','','',''],
['','','','','','','',''],
['','','','','','','',''],
]);
currentListOfThirdParties = this.listOfThirdPartiesValuesSource.asObservable();
/************************************************************************ */
}
И вот как я называю это вthe:
app.ts
import { listOfThirdPartiesService } from "../services/listOfThirdPartiesService.service";
Также в app.module.ts я должен объявить это в поставщиках.
Так что мои вопросы:
В чем разница между двумя способами реализации службы?
И в каких случаях я могу использовать первый и второй?