事件

事件是开发过程中经常使用到的功能,我们经常利用它来做一些解耦的操作。如:更新了用户信息,其他需要更新相关信息的操作自行监听更新等

新建监听

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);
  }
}
Last Updated: