如何记录返回的事件发射器

How to document an event emitter returned

如何使用 JSDoc 记录在 MyFunc() 中返回的 stream 发出的事件?

/**
 * [MyFunc description]
 * @param  {Object} opts - [description]
 * @return {Stream} - [description]
 */
function MyFunc (opts) {
  // stream is an EventEmitter
  var stream = new MyEventEmitter();

  stream.emit('event1', ... );
  stream.emit('event2', ... );

  return stream;
}

您可以通过将您的事件(event1event2、...)记录为 @event MyFunc#event1 和 MyFunc,或者使用 [=13 进行发射的任何人来记录这些行为=].

您还可以记录使用 @listens MyFunc#event:event1.

监听这些事件的函数

以下是上述标签的官方 JSDoc 页面:

请注意标签活动页面中提到的 "event" 的一些细微差别,在此重复:

JSDoc automatically prepends the namespace event: to each event's name. In general, you must include this namespace when you link to the event in another doclet. (The @fires tag is a notable exception; it allows you to omit the namespace.)