Como referenciar o valor correto de `i 'em um retorno de chamada em um loo

Tenho este código:

for (var i = 0; i < result.length; i++) {
    // call a function that open a new "thread"
    myObject.geocode({ param1: "param" }, function(results, status) {
        alert(result.title[i]);
    });                                             
}

O.geocode função @ (que não é minha, não posso editar) abre um novo "thread" de execuçã

Quando tento imprimir o título em cada etapa, sempre obtenho o último valor possível dei.

Como posso manter uma referência ao valor correto dei para cada iteração?

questionAnswers(4)

yourAnswerToTheQuestion