我查看了QuickBooks Online API V3的同步和异步方法的文档。它们都允许创建数据对象,并将请求添加到批处理操作中,然后执行批处理。在这两份文件中,他们都说:
“按请求中指定的顺序顺序执行批处理项.”
这让我感到困惑,因为我不明白如果批处理过程按顺序执行每个批处理操作,如何允许异步处理。
异步处理文档位于顶部:
“在一个请求中异步访问多个数据对象.”
我不明白如果批处理操作是在批处理请求中顺序执行的,这是如何发生的。
能请人澄清一下。
发布于 2013-12-04 09:02:55
在asyn调用(从devkit )中,调用线程并不等待来自服务的响应。您可以关联一个处理程序来处理这个问题。
对于Ex -
public void asyncAddAccount() throws FMSException, Exception {
Account accountIn = accountHelper.getBankAccountFields();
try {
service.addAsync(accountIn, new CallbackHandler() {
@Override
public void execute(CallbackMessage callbackMessage) {
callbackMessageResult = callbackMessage;
lock_add.countDown();
}
});
} catch (FMSException e) {
Assert.assertTrue(false, e.getMessage());
}
lock_add.await();
Account accountOut = (Account) callbackMessageResult.getEntity();
Assert.assertNotNull(accountOut);
accountHelper.verifyAccountFields(accountIn, accountOut);
}
服务器总是按顺序执行请求。在批处理中,如果指定多个操作,则服务器将按顺序执行(自顶向下)。
谢谢
https://stackoverflow.com/questions/20370588
复制相似问题