事件
事件是开发过程中经常使用到的功能,我们经常利用它来做一些解耦的操作。如:更新了用户信息,其他需要更新相关信息的操作自行监听更新等
新建监听
import { Provide, Scope, ScopeEnum } from '@midwayjs/decorator';
import { CoolEvent, Event } from '@cool-midway/core';
/**
* 接收事件
*/
@CoolEvent()
export class DemoEvent {
/**
* 根据事件名接收事件
* @param msg
* @param a
*/
@Event('updateUser')
async updateUser(msg, a) {
console.log('ImEvent', 'updateUser', msg, a);
}
}
发送事件
import { Get, Inject, Provide } from '@midwayjs/decorator';
import {
CoolController,
BaseController,
CoolEventManager,
} from '@cool-midway/core';
/**
* 事件
*/
@Provide()
@CoolController()
export class DemoEventController extends BaseController {
@Inject()
coolEventManager: CoolEventManager;
/**
* 发送事件
*/
@Get('/send')
public async send() {
this.coolEventManager.emit('updateUser', { a: 1 }, 12);
}
}