课程章节介绍
同学们,我们来看这一页的内容:第二个回调处理的是链接响应,也就是多个连续 Callout 串联起来的场景。这里有几个非常重要的规则,咱们一条一条理清楚。
首先,最核心的限制:你最多只能链接 3 个 Callout。就像接力赛,一个人传一个人,最多只能跑三棒。你不能依葫芦画瓢,一个接一个无限制地链下去。
其次,在创建新的延续之前,以及要再次把 Visualforce 请求挂起之前,你必须先拿到当前这个延续的响应。换句话说,不能一下子把三个请求都甩出去,然后等着收结果。你得先等第一个响应回来,在它的回调方法里处理完数据,再决定要不要、以及如何去发起第二个 Callout。
再一个,你必须注意:一旦你沿着链往下走了,就再也拿不到前面旧的响应了。比如第一个 Callout 返回了用户信息,你用它来发起第二个查订单;第二个回来后,你又发起第三个查物流。这时如果你突然想回过头去看看第一个 Callout 带回来的用户信息,对不起,那已经是过去式,访问不到了。所以每一步需要的所有数据,你都要及时保存下来,不能依赖“回头再取”。
最后,每次延续都会暂停当前的 Visualforce 请求,等响应回来后,再恢复这个请求。用户在页面上能感受到这个过程:每完成一个阶段,页面才会更新一次,然后用户看着新加载的数据,再等待下一步处理。整个过程是分步走的,而不是一下子全部跳完。这样用户虽然要等一小会儿,但每一步的状态都是清晰的。
简单总结:链式调用最多三段,必须按顺序取响应,不能回头找旧结果,每一步都会让页面暂停然后更新。这样设计是为了保证数据和交互的顺序可控,也让用户能跟得上系统的节奏。
好,关于链接响应的规则我们就讲到这里,大家对照这个思路去写代码,心里就有数了。
关键词
Apex
Salesforce
Developer Guide