【发布时间】:2019-08-14 00:15:15
【问题描述】:
我正在尝试在订阅中应用过滤器,但在解析器文件中遇到了一些问题。
苦艾分辨率需要作为参数 a {:ok, params} o {:error,params } 所以它可以执行,问题是你发送的所有内容都出现在我的订阅中,我想停止执行所以什么都没有发送到我的订阅
这是我尝试过的
def subscribe(item, args, %{context: %{current_token: _current_token}}) do
filter_subscription(item, args)
end
def subscribe(_args, _info, _ctx) do
{:error, "Not Authorized"}
end
def filter_subscription(item, %{filter: filter}) do
IO.inspect item
IO.inspect(filter)
case filter do
%{name: name}->
case String.contains?(item.name, name) do
true ->
{:ok, item}
false ->
nil
end
_hey ->
IO.puts "error"
end
end
end ```
【问题讨论】:
-
我猜你在问一个类似的问题:stackoverflow.com/questions/54894293/…?它基本上归结为使用主题调用来确保客户端只对过滤后的数据感兴趣,而不是其他所有内容
-
我想不使用主题,因为你无法扩展它,你必须为每个主题创建一个频道
-
我无法使用主题,因为我无法为每个可能的过滤器值创建主题/频道。