使用future注释来标识异步执行的方法。当您指定future时,该方法将在Salesforce有可用资源时执行。
例如,您可以在对web service进行异步Web service调用时使用future注释。如果没有注释,Web service调用将来自执行Apex代码的同一个线程,并且在调用完成(同步处理)之前不可能发生其他处理。
带有future注释的方法必须是静态方法,并且只能返回一个void类型。指定的参数必须是基本数据类型、基本数据类型的数组或基本数据类型的集合。具有future注释的方法不能将sObjects或对象作为参数。
要使类中的方法异步执行,请使用future注释来定义该方法
global class MyFutureClass {
@future
static void myMethod(String a, Integer i) {
System.debug('Method called with: ' + a + ' and ' + i);
// Perform long-running code
}
}
要允许在将来的方法中进行标注,请指定(callout=true)。默认值是(callout=false),它阻止方法进行callout。
@future (callout=true)