Самое простое решение - создать функцию JavaScript и вызвать его для обратного вызова Ajax success
.
function callServerAsync(){
$.ajax({
url: '...',
success: function(response) {
successCallback(response);
}
});
}
function successCallback(responseObj){
// Do something like read the response and show data
alert(JSON.stringify(responseObj)); // Only applicable to JSON response
}
function foo(callback) {
$.ajax({
url: '...',
success: function(response) {
return callback(null, response);
}
});
}
var result = foo(function(err, result){
if (!err)
console.log(result);
});
Я не знаю никакой поддержки, но я бы полностью javadoc метод с большинством аргументов, а затем ссылаюсь на него в другом javadoc, как это. Я думаю, что он достаточно ясен и избегает избыточности.
/**
* {@code fruitType} defaults to {@link FruitType#Banana}.
*
* @see Forest#addTree(int, Fruit, int)
*/
Поместите документацию в интерфейс, если сможете. Классы, реализующие интерфейс, затем наследуют javadoc.
interface X(){
/** does fooish things */
void foo();
}
class Ax implements X{ //automatically inherits the Javadoc of "X"
@Override
public void foo(){/*...*/}
}
Если вы хотите наследовать документацию и добавить к ней свои собственные материалы, вы можете использовать {@inheritDoc}:
class Bx implements X{
/**
* {@inheritDoc}
* May fail with a RuntimeException, if the machine is too foo to be true.
*/
@Override
public void foo(){/*...*/}
}
См. также: http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javadoc.html#inheritingcomments
Теперь как я понял, это не совсем то, что вы хотите (вы хотите избежать повторений среди методов в одном классе / интерфейсе). Для этого вы можете использовать @see или @link, как описано другими, или вы можете подумать о своем дизайне. Возможно, вы бы хотели избежать перегрузки метода и использовать один метод с объектом параметра, например:
public Tree addTree(TreeParams p);
Для использования следующим образом:
forest.addTree(new TreeParams().with(Fruits.APPLE).withLeaves(1500).withHeight(5));
Вам может понравиться этот шаблон copy-mutator здесь:
В зависимости от количества комбинаций параметров это может быть более простым и понятным способом, поскольку Params-Class может захватывать значения по умолчанию и иметь javadoc для каждого параметра.
Вероятно, нет хорошего стандартного метода, так как даже исходный код JDK9 просто копирует пасты больших кусков документации, например, по адресу:
Повторяются 4 строки комментария. Yikes, non-DRYness.
Я бы просто задокументировал ваш «полный» метод (в данном случае addTree(int,Fruit,int)
), а затем в JavaDoc для других методов ссылается на это и объясняет, как / какие значения по умолчанию используются для аргументов, не предоставленных.
/**
* Works just like {@link ThisClass#myPow(double,double)} except the exponent is always
* presumed to be 2.
*
* @see ThisClass#myPow(double,double)
*/
static double myPow( double base );