Как мы используем jsddo c для документирования возвращаемого значения обратных вызовов, которое передается как параметр как функция - PullRequest
0 голосов
/ 01 апреля 2020

В настоящее время я документирую функцию javascript и другой код с текущим синтаксисом jsdo c (я могу изменить)

function exportStuff(dataObject) {
  /**
   *
   *  @param {Object} dataObject - some details about it
   *  @param {function} dataObject.animationStart
   *  @param {function} dataObject.ajax - when invoked, returns a promise/.thenable, but I want to know how to state that it does here in the jsdoc
   *  what if I tried:
   *  @callback {function} dataObject.ajax (not sure how to embed @param and @return here)
   *
   */

}

https://jsdoc.app/tags-callback.html не дает тонны смысла для меня ... но, посмотрев на него подробнее ... возможно, они имеют в виду в своем примере определить тип параметра как @param {requestCallback}, а затем в качестве отдельного комментария нам нужно определить @callback requestCallback и там задокументировать @param и @returns для определения

Мой вопрос немного отличается, потому что я хочу использовать стиль jsdo c, но также знаю, как встроить все в одном месте (не отдельно) параметр и возвращает типы для переданная функция для использования в качестве обратного вызова (извините за повторение)

Спасибо за ваше время!

Приветствия

1 Ответ

0 голосов
/ 02 апреля 2020

Тип function работает следующим образом:

function({paramTypes}):returnType

Например;

Обработчик событий, который ничего не возвращает;

@param {function({Event}):void}

Стандартный sum метод:

@param {function({number}, {number}):number}

Ожидаемый тип this можно указать с помощью:

@param {function(this:Foo):void}

Результат типа new можно указать с помощью:

@param {function(new:Foo):void}

Вы также можете распределить операцию:

@param {function(string, ...number): number}

Опционально с = и обнуляется с ?:

@param {function(?string=, number=)}

- - Через типы в системе типов закрытия .

...