Since: Buttons 1.0.0

Indicate that a button's action processing should be performed asynchronously.
Please note - this property requires the Buttons extension for DataTables.


This property is an alias of the feature property buttons.buttons.action and can be used to configure the feature from the top level DataTables configuration object, rather than in the layout option (see example below). This lets you use the feature as a string rather than an object, but it does restrict the configuration if you were using multiple instances of the feature. Please refer to the documentation for buttons.buttons.action for full details and options that apply to this option.

If you are using DataTables 1.x, which does not have the layout option, use this property name, but referring to the documentation for buttons.buttons.action for full details.


Async processing finished callback:

new DataTable('#myTable', {
	layout: {
		topStart: 'buttons'
	buttons: [
			text: 'Make Ajax call',
			async: 100,
			action: function (e, dt, node, config, cb) {
				// Do custom async processing - e.g. an Ajax call
				new Promise(resolve => {
					// ...