20 lines
546 B
TypeScript
20 lines
546 B
TypeScript
// npm install @grpc/grpc-js
|
|
// npm install @grpc/proto-loader
|
|
import grpc from '@grpc/grpc-js';
|
|
import { loadSync } from '@grpc/proto-loader'
|
|
|
|
type Task = { id: number, title: string }
|
|
type TaskList = { tasks: Task[] }
|
|
|
|
const taskDef = loadSync('./tasks.proto');
|
|
const taskProto = (grpc.loadPackageDefinition as any)(taskDef).task as any;
|
|
|
|
const client = new taskProto.TaskService(
|
|
'127.0.0.1:5050',
|
|
(grpc.credentials).createInsecure()
|
|
);
|
|
|
|
client.FindAll({}, (erro: Error | null, response: TaskList) => {
|
|
console.table(response.tasks)
|
|
})
|