Radzę zwrócić uwagę na async: false
i odpowiedzieć sobie na pytanie, czy takie rozwiązanie będzie okej
var getTodoItem = function(i) {
var data = []
$.ajax({
url: 'https://jsonplaceholder.typicode.com/todos/' + i,
async: false
}).done(function(response) {
data = response
})
return data
}
var item = getTodoItem(1)
console.log(item.title)
Masz też lepszą opcję asynchronicznego pobierania danych (zmienna data
będzie pusta dopóki nie dostanie odpowiedzi od serwera), ale musisz wtedy odpowiednio zaprojektować skrypt
var data
$.ajax({
url: 'https://jsonplaceholder.typicode.com/todos/1'
}).done(function(response) {
data = response
})