问题标签 [completionhandler]

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 投票
2 回答
1760 浏览

ios - 如何将“C++ 完成处理程序”传递给 NSURLSessionDataTask 以处理它返回的数据?

我们的应用程序主要是用 C++ 编写的,其核心是多个平台(Win、Mac、Android、iOS)共享的静态库。

我们正在添加 iOS 支持,并有一系列使用 libcurl 的函数来执行与我们的服务器的所有 HTTP get/post 通信。

但是对于 iOS,我们现在使用 NSURLSession 来实现这些调用。

我的问题很简单,代码如何为 NSURLSessionDataTask 提供 C++ 完成处理程序?

也许我正在以错误的方式思考这个问题,但这是我能想到的最清楚的问题。

使用世界上的示例代码,我尝试了以下方法,但无济于事。完成处理程序中的 Objective-C++ 代码永远不会被调用。它返回到 C++ 代码并且永远不会返回。

这是目标 C++ 函数:

这就是我在 C++ 中调用该代码的方式:

0 投票
1 回答
373 浏览

ios - 完成处理程序调用太晚

我正在尝试UITableView用我通过DataTaskWithURL调用获得的数据填充 a。但是,tableview在完成处理程序启动之前已经加载。

我搜索了这个问题并找到了将其移至主线程的方法,但这似乎不起作用。在加载表格视图之前如何将其移动到正确的队列有任何想法吗?

我的代码:

0 投票
0 回答
736 浏览

ios - 获取 ETA ios - 完成处理程序 - 快速

我是 IOS 编码和使用 swift 的新手。
我正在尝试计算 2 个不同点之间的 ETA。当我将地址转换为坐标时,我将它们存储在全局变量中。问题是,由于该值是在完成处理程序中设置的,因此当我调用计算 ETA 时,尚未设置变量。获得相同结果的另一种方法是什么。

0 投票
2 回答
188 浏览

objective-c - 完成块 Objective-C

我正在尝试在 IOS 中编写一个带有块的完成处理程序,但不确定它为什么不工作。

这是我到目前为止所拥有的

我正在从场景中调用 showAnswer 方法,如下所示:

当我逐步执行代码时,我没有遇到任何错误,并且序列按预期进行,即。磁贴位置发生更改,然后完成处理程序触发到 nextRiddle 方法。唯一的问题是没有更新任何界面。有什么我想念的吗?

我已经通过取出完成块测试了磁贴重新定位的代码是否有效,我在界面中查看它并获得所需的结果。所以我很确定问题在于我如何实现这些块。我以前从来没有写过一个块,所以我真的一头雾水。

0 投票
1 回答
446 浏览

java - Java NIO2 并发完成处理程序

我正在编写 NIO2 服务器,我需要在 AsynchronousSocketChannel 上进行异步读取操作,这些操作中的每一个都包括读取一个整数,并进一步从相同的通道读取等于该整数的字节数。问题是,当我将两个或多个 CompletionHandler 连续放在通道上时(因为有多个读取操作的请求),并且这些处理程序中的第一个被触发,我在complete()第一个处理程序的方法中的进一步阅读代码无法正常工作,因为第二个当频道上有信息时,处理程序会立即被触发。我怎样才能阻止频道直到进一步阅读complete()没有Future事情完成?我不能使用 Future 因为我需要将处理程序放入套接字然后传递给其他任务。

这是 DataServerResponseHandler 类:

0 投票
0 回答
31 浏览

c# - 具有多个完成处理程序的循环的最终处理

我正在遍历一个项目列表,每个项目都有一个处理某些处理的方法。此方法接受一个 Action completionHandler,当项目完成其自己的处理时调用它。

我需要一个在循环中的所有项目都完成后调用的方法。这在 C# 中如何处理?(另外,您将如何处理其中一项无法处理但您愿意忽略它的情况?)

0 投票
0 回答
770 浏览

ios - 使用 Completion Handler 等待在线数据再重新加载

我从在线数据库加载核心数据,然后从核心数据填充我的表格视图(这样它也可以离线使用)。一切工作正常,除了我不知道如何让完成处理程序工作,以便在加载之前完成提取。我正在关注这个示例,但无法弄清楚它没有调用我的函数(CloudUpdate)。

0 投票
2 回答
887 浏览

ios - 等待 Xcode 方法完成

我正在使用 generateCGImagesAsynchronouslyForTimes 制作一些图像并将它们保存到 a NSMutableArray,现在当函数generateCGImagesAsynchronouslyForTimes完成时我想使用这个数组中的图像,在所有图像都生成完成后,我怎样才能拥有我想要执行的代码。我只想把它放在completionHandler代码块中,但我不想让它运行多次,我只想在这个方法完成后运行一次。

编辑

这都在里面- (BFTask *)createImage:(NSInteger)someParameter {

我应该把它分配给什么?

0 投票
7 回答
154551 浏览

function - 如何在 Swift 中创建带有完成处理程序的函数?

我只是好奇我将如何处理这个问题。如果我有一个函数,并且我想在它完全执行时发生一些事情,我将如何将它添加到函数中?谢谢

0 投票
2 回答
840 浏览

ios - 调用必须等待服务器响应的函数的问题

所以我的视图控制器中有以下代码可以完美运行。我发出 json 请求,发出服务器调用,我得到响应没有问题。点击按钮调用我的函数:

所以现在我想创建一个可以用来调用我所有服务的类。所以我在这个类中创建了一个函数,我从我的视图控制器调用 let invoke = WebServiceCall() let jsonrequest = invoke.InvokeService()

所以我的班级和职能是

我认为我的问题是调用了该函数,但是因为没有完成处理程序来等待我从未得到返回数据的响应。我用谷歌搜索了完成处理程序,但我很困惑。任何帮助都会很棒