假设我有一个只处理异步调用的gen_server(因此只实现了handle_cast),我应该保留handle_call并使其仅返回通用的ok值,还是应该删除代码的那部分并接受警告?
答案 0 :(得分:2)
我选择永远返回{reply, ok, State}
。将警告视为错误(即停止编译并修复它们)。这样,当出现真实警告时,它们不会隐藏在噪音背后。
在您自己的函数中包含对行为的所有调用是一个好习惯,例如:
delete(Something) ->
gen_server:call(?MODULE, {delete, Something}).
在这种情况下,请勿导出使用handle_call/2
。
答案 1 :(得分:0)
不管是否使用gen_server,都不是处理所有调用的要求吗?