问题标签 [callable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
310521 浏览

python - 什么是“可调用”?

现在很清楚什么是元类,有一个相关的概念,我一直在使用,但不知道它的真正含义。

我想每个人都犯了一次括号错误,导致“对象不可调用”异常。更何况,使用__init____new__导致想知道这该死的东西__call__可以用来做什么。

你能给我一些解释,包括魔术方法的例子吗?

0 投票
14 回答
344596 浏览

java - Java中Runnable和Callable接口的区别

Runnable在 Java 中设计并发线程时使用和接口有什么区别Callable,为什么要选择一个而不是另一个?

0 投票
7 回答
9449 浏览

java - 如何包装一个方法,以便在它超过指定的超时时终止它的执行?

我有一个我想调用的方法。但是,如果执行时间过长,我正在寻找一种干净、简单的方法来杀死它或强制它返回。

我正在使用 Java。

为了显示:

我认为这TestExecutor门课应该implement Callable并继续朝着这个方向前进。

但我想做的就是executor.execute()在时间太长时停下来。

建议...?

编辑

收到的许多建议都假设正在执行的需要很长时间的方法包含某种循环,并且可以定期检查变量。然而,这种情况并非如此。因此,某些不一定是干净的,并且只会在可以接受的地方停止执行。

0 投票
4 回答
9655 浏览

java - invokeAll() 不愿意接受一个 Collection>

我不明白为什么这段代码无法编译

错误消息是:

list是一个Collectionof DocFeeder,它实现了Callable<Boolean>- 这是怎么回事?!

0 投票
4 回答
11992 浏览

java - 如何安排 Callable 在特定时间运行?

我需要在一天中的特定时间运行一个可调用的。一种方法是计算现在和期望时间之间的时间差异,并使用 executor.scheduleAtFixedRate。

有更好的主意吗?

executor.scheduleAtFixedRate(command, TIMEDIFF(now,run_time), period, TimeUnit.SECONDS))

0 投票
3 回答
328 浏览

java - 放入 Callable 多少逻辑是“正确的”?

我经常使用 callables ,我偶然发现了一个让我恼火的问题:

假设要运行函数 foo() ,首先需要进行一些检查。

您是否应该 1. 将支票作为 Callable 的一部分插入:

  1. 或者,将所有这些逻辑插入另一个类(ALogic)并使用 Callable 作为执行器的外壳? class A implements Callable {
    ...
    public Long call() {
    ALogic aLogic = new ALogic();
    return (aLogic.run());
    }

你觉得优点和缺点是什么?你通常喜欢什么?

0 投票
1 回答
6430 浏览

javascript - 函数对象和可调用对象有什么区别?

我最近看到了有关 ECMAScript 5 更改的演示文稿。这张幻灯片上有一张幻灯片

函数可调用

谁能向我解释FunctionCallable之间的区别是什么?

0 投票
2 回答
1966 浏览

java - 未来取消后如何在 Callable 中终止 CXF webservice 调用

编辑

到目前为止,这个问题已经经历了几次迭代,因此请随时查看修订版以查看有关历史和尝试的事情的一些背景信息。


我将 CompletionService 与 ExecutorService 和 Callable 一起使用,通过 CXF 生成的代码同时调用几个不同 Web 服务上的多个函数。这些服务都为我正在使用的一组信息提供不同的信息我的项目。但是,服务可能会在不引发异常的情况下长时间无法响应,从而延长对组合信息集的等待。

为了解决这个问题,我同时运行所有服务调用,几分钟后想终止任何尚未完成的调用,最好从可调用对象中或通过抛出来记录哪些调用尚未完成一个详细的例外。

这是一些高度简化的代码来说明我已经在做什么:

同时启动 WS 调用的代码:

我在这段代码中遇到的问题是,在等待 port.getXXXFeatures(...) 返回时,Callables 实际上并没有被取消,而是以某种方式继续运行。从if (Thread.currentThread().isInterrupted()) log.error("XXX was interrupted");语句中可以看出,在 port.getFeatures 返回后设置了中断标志,这在 Webservice 调用正常完成后可用,而不是在我调用 Cancel 时被中断。

谁能告诉我我做错了什么以及如何在给定时间段后停止正在运行的 CXF Webservice 调用,并在我的应用程序中注册此信息?

最好的问候,蒂姆

0 投票
1 回答
2910 浏览

groovy - 有没有办法在 Groovy 中拥有可调用对象?

例如,如果我有一个名为 A 的类。我可以像 Python 那样使对象可调用吗?例如 :

这将调用一些对象方法。可以做到吗?

0 投票
4 回答
2693 浏览

php - PHP 可调用对象作为对象成员

我有一个类Logger,其中有一个方法Log
作为LogLogger实例最常见的用途,我已连线__invoke调用Log

另一个类“Site”包含一个成员“Log”,它是 Logger 的一个实例。

为什么会这样:

但不是这个:

前者因“PHP 致命错误:调用未定义的方法 Site::Log()”而失败
这是可调用对象实现的限制,还是我误解了什么?