关于JS 的回调函数解释: https://blog.csdn.net/baidu_32262373/article/details/54969696

https://www.cnblogs.com/gaosheng-221/p/6045483.html

顾名思义,就是执行完后再调用你的。通常是限制行父的函数,在执行子函数;

一个很好的例子:callback(); 放到父函数中去

<html> <head> <title>(callback)</title>
<script language="javascript" type="text/javascript">
function a(callback)
{    alert("I am parent a!"); alert("Invoke callback"); callback();
}
function b(){ alert("I am callback B");
}
function c(){
alert("I am callback c"); } function test()
{ a(b); a(c);
} </script>
</head> <body>
<h1>Learn Callback</h1>
<button onClick=test()>click me</button>
<p>Now you can see the two callback.</p>
</body> </html>

  以上的例子是全JS代码,是为了解释回调的一个简单例子。

JS如果想和control 交互的话使用的是@RemoteAction这个会在下篇文章中介绍;

本次介绍的是在JS中直接操作数据,如一些SOQL的查询,一些数据的增删改的操作,这个就要使用Ajax Toolkit ,到官网下载 apex_ajax.pdf即可

其中是分为两种方式,异步、同步:

1.首先我们先连接到API中

<apex:page>
<script src="../../soap/ajax/44.0/connection.js"
type="text/javascript"></script>
<script>
sforce.connection.sessionId='{!GETSESSIONID()}';
...
</script>
...
</apex:page>

  

同步调用和异步调用的区别为:同步调用为当向服务器端发送请求后,需要一直等到服务器端返回结果,并针对结果进行后期的处理;异步调用为当向服务器发送请求后,可以继续进行其他的处理,当服务器有调用返回结果后,再进行结果处理。异步调用需要在API call中添加一个参数用来做call back的函数处理。

同步调用格式:
sforce.connection.method("argument1","argument2",...);  Examples of Synchronous Calls

Example

<html>
<head>
<script src="/soap/ajax/44.0/connection.js"></script>
<script>
var contactId = "{!Contact_ID}";
function initPage() {
try{
var contact = sforce.connection.retrieve("AccountId", "Contact", [contactId])[0];
var accountsRetrieved = sforce.connection.retrieve("Id, Name, Industry,
LastModifiedDate", "Account", [contact.AccountId]);
if (accountsRetrieved.length > 0) {
var account = accountsRetrieved.records[0];
document.body.innerHTML += "Account name: <a href='/" + account.Id;
document.body.innerHTML += "' target='_blank'>" + account.Name + "</a><br>;
document.body.innerHTML += "Industry: " + account.Industry + "<br>";
}
} catch (e) {
document.body.innerHTML += "Error retrieving contact information";
document.body.innerHTML += "<br>Fault code: " + e.faultcode;
document.body.innerHTML += "<br>Fault string: " + e.faultstring;
}
}
</script>
</head>
<body οnlοad="initPage();">
</body>
</html>

  

异步调用格式:
sforce.connection.method("argument1","argument2",...,"callback_function");

var result = sforce.connection.query("Select Name,Id from User", {
onSuccess : function(result) {
var records = result.getArray("records");
for (var i=0; i<records.length; i++) {
var record = records[i];
log(record.Name + " -- " + record.Id);
}
},
onFailure : function(error) {
log("An error has occurred " + error);
}
});

  

因为调用有可能出现异常,同步和异步的异常处理如下:
同步异常处理为在调用处使用try catch 来捕获异常

异步异常处理为异步的callback result提供了一个onFailure配置,当出现异常后,会执行onFailure配置的方法,成功会执行onsuccess方法
因为异步调用为结果什么时候返回,客户端什么时候处理,当后台处理特别慢的情况下,前端等待时间太长会很不友好,异步调用提供了一个timeout配置属性,用来设置异步调用最长时间,单位是以毫秒为单位,最小值为1
完整异步调用格式
var callback = {onSuccess: handleSuccess, onFailure: handleFailure,timeout:1000};
function handleSuccess(result) {}
function handleFailure(error) {}
sforce.connection.query("Select name from Account", callback);

转载于:https://www.cnblogs.com/bandariFang/p/9675334.html

065_VFPage中CallBack回调函数的解释相关推荐

  1. 理解javascript中的回调函数(callback)【转】

    在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...

  2. 理解javascript中的回调函数(callback)

    理解javascript中的回调函数(callback) 在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Obje ...

  3. C语言中的回调函数(Callback Function)

    C语言中的回调函数(Callback Function) 1 定义和使用场合 回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中 ...

  4. js接收php 回调,JS callback回调函数的使用(附代码)

    这次给大家带来JS callback回调函数的使用(附代码),JS callback回调函数使用的注意事项有哪些,下面就是实战案例,一起来看一下. 在使用开源项目的时候经常会使用到回调函数,如果把回调 ...

  5. js中的回调函数,什么是回调函数?

    一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为函数实际上是一种对象,即是内置对象 ...

  6. 在Qt中使用回调函数替代信号槽

    前言 在Qt中传数据,我们使用了一个信号和槽系统,但这并不意味着不能使用旧的经过验证的方法,即使用 CallBack回调函数功能. 事实上使用 CallBack 功能比信号和槽要快一些.并且当发送信号 ...

  7. js中的回调函数的理解和使用方法

    一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为函数实际上是一种对象,它可以存储在 ...

  8. Java中的回调函数学习-深入浅出

    Java中的回调函数一般来说分为下面几步: 声明回调函数的统一接口interface A.包括方法callback(); 在调用类caller内将该接口设置为私有成员private A XXX; 在c ...

  9. 理解与使用Javascript中的回调函数

    在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被"存储"在变量中,能作为函数参数被传递,能在函数中被创建, ...

  10. javascript~callback回调函数

    函数是对象,所以它可以作为一个参数传递给其他函数. 回调函数作为一个参数传递给其他函数时是没有括号的,只有函数名:使用括号表示立即执行回调函数callback.我们只希望传递一个函数的引用,让其他函数 ...

最新文章

  1. 【linux】Valgrind工具集详解(一):简介
  2. Mysql错误1366 - Incorrect integer value解决方法
  3. win8.1下jdk的安装和环境变量的配置 eclipse的安装和汉化
  4. 初学者怎么自学python编程_怎样自学python编程?从零开始学习python,400集免费教程!...
  5. bzoj4998: 星球联盟
  6. mac 内核调试环境搭建
  7. 《HTML 5与CSS 3 权威指南(第3版·上册)》——1.2 HTML 5深受欢迎的理由
  8. 软件工程实践_Task2_sudoku
  9. sql测验,like 和 = 的区别
  10. 回首2018 | 分析型数据库AnalyticDB: 不忘初心 砥砺前行
  11. VS解决方案目录和工程目录
  12. html js post提交表单,JavaScript 实现POST方式提交表单
  13. 怎么创建自己的小程序?10分钟搞定
  14. php请求403 forbidden,403 forbidden是什么意思
  15. element-ui按需引入报错 Error: Cannot find module ‘babel-preset-es2015‘
  16. 中国移动为何要对手机上网流量封顶
  17. Vue 中 Dep 和 Observer 的用法详解
  18. 解耦matlab仿真,感应电机解耦控制及MATLAB仿真研究
  19. 魅族手机设置输出log
  20. 第三章 系统的时域分析

热门文章

  1. 杨强教授领衔撰写,国内首本联邦学习实战的权威著作
  2. Keras 文字生成系统
  3. 博文视点OpenParty第11期“世界黑客大会那些事儿”成功举办
  4. 博客营销之博客平台的选择和优化
  5. create方法 eslint关闭_详解create-react-app 自定义 eslint 配置
  6. centos 修改root密码_Ubuntu、Redhat、Kali、CentOS重置root密码方法汇总
  7. 力扣-1022. 从根到叶的二进制数之和
  8. flex布局 详细开发教程
  9. Flutter进阶第4篇: 实现简单的新闻系统渲染新闻详情数据以及用flutter_html解析html
  10. Java 多线程,线程池,