本文整理汇总了TypeScript中dubbo2.js.Dubbo.use方法的典型用法代码示例。如果您正苦于以下问题:TypeScript js.Dubbo.use方法的具体用法?TypeScript js.Dubbo.use怎么用?TypeScript js.Dubbo.use使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dubbo2.js.Dubbo
的用法示例。
在下文中一共展示了js.Dubbo.use方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: default
export default (app: EggApplication) => {
const dubboSetting = setting
.match(
[
'com.alibaba.dubbo.demo.DemoProvider',
'com.alibaba.dubbo.demo.ErrorProvider',
],
{
version: '1.0.0',
},
)
.match('com.alibaba.dubbo.demo.BasicTypeProvider', {version: '2.0.0'});
const dubbo = new Dubbo<typeof service>({
application: {name: 'node-egg-bff'},
register: 'localhost:2181',
service,
dubboSetting,
});
// extends middleware
dubbo.use(async (ctx: Context, next: any) => {
const start = Date.now();
await next();
const end = Date.now();
app.coreLogger.info(
`${ctx.dubboInterface} was invoked, cost-time ${end - start}`,
);
});
app.dubbo = dubbo;
};
示例2: test
const dubbo = new Dubbo<typeof service>({
application: {name: '@qianmi/node-dubbo'},
register: 'localhost:2181',
dubboInvokeTimeout: 0.001,
service,
dubboSetting,
});
//use middleware
dubbo.use(async function test(ctx, next) {
const startTime = Date.now();
await next();
const endTime = Date.now();
const {
request: {dubboInterface, methodName},
} = ctx;
console.log(
`timeout: invoke ${dubboInterface}#${methodName} costTime: ${endTime -
startTime}`,
);
});
describe('dubbo timeout test suite', () => {
it('test echo timeout', async () => {
const {res, err} = await dubbo.service.DemoProvider.echo();
expect(res).toEqual(null);
expect(err != null).toEqual(true);
expect(err.message).toMatch(/remote invoke timeout/);
});
it('test sayHello', async () => {
示例3: costtime
);
const dubbo = new Dubbo<typeof service>({
application: {name: '@qianmi/node-dubbo'},
register: 'localhost:2181',
service,
dubboSetting,
});
//use middleware
dubbo.use(async function costtime(ctx, next) {
const startTime = Date.now();
await next();
const endTime = Date.now();
const {
request: {dubboInterface, methodName},
} = ctx;
console.log(
`invoke ${dubboInterface}#${methodName} costTime: ${endTime - startTime}`,
);
});
dubbo.use(async function trace(ctx: Context, next) {
const uuid = Date.now();
//auto merge attchments when assign more
ctx.attachments = {
uuid,
};
ctx.attachments = {
userId: uuid,