JSFiddle - React, Tailwind, and code Playground
JavaScript
const ajax = (request) => {
return new Promise((success, error) => {
jQuery.ajax(Object.assign({}, request, { success, error }))
})
}
class RegularPacket {
constructor () {
this._ajax()
.then((...args) => this._ajaxSuccess(...args))
.catch((...args) => this._ajaxError(...args))
}
_ajax () {
return ajax({
type: 'POST',
url: 'php/ajax.php',
data: { action: 'pause', timeout: 100 },
dataType: 'json',
})
}
func () {
console.log('it works')
}
_ajaxSuccess (data, textStatus, XMLHttpRequest) {
console.log(this); // returns instance of RegularPacket
if(data.status === 'ok') {
this.func();
} else if(data.status === 'error') {
console.error(data.message);
}
}
_ajaxError (XMLHttpRequest, textStatus, errorThrown) {
console.error('ajax')
}
}