JSFiddle - React, Tailwind, and code Playground
JavaScript
function CheckPath() {
var defer = $.Deferred();
var result = []; // zamiast new Array()
var folders = [];
console.log('CheckPath in');
// Symlujemy $.ajax
setTimeout(function () {
result.push(1);
result.push(3);
folders.push('folder1');
folders.push('folder2');
defer.resolve(result, folders);
//defer.reject();
// Robimy zapytanie do serwera i robimy defer.resolve lub defer.reject w zależności od wyniku
/* BTW $.ajax zwraca promise, więc nie trzeba robić new Promise($.ajax... :)
$.ajax( "example.php" )
.done(function() {
alert( "success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "complete" );
});
*/
}, 3000);
return defer;
};
console.log('CheckPath before'); // Tutaj warto wrzucić jakiś kręciołek
CheckPath()
.done(function (result, folders) {
console.log('CheckPath after (async)', result, folders); // Tutaj go wyłączamy
})
.fail(function () {
console.log('CheckPath after reject (async)'); // Tutaj go wyłączamy + obsługa błędu
});
console.log('CheckPath after');