Я не могу изменить значение переменной outputString внутри обратного вызова.Невозможно изменить значение в обратном вызове javascript
var outputString;
client.get(key,function(err,value){
outputString = "key="+key+" value="+value ;
console.log(outputString);
})
console.log(outputString);
При печати значение outputString, он говорит, что "не определено"
определяется 'ключ'? Возвращает ли значение 'value'? Проверьте 'if (err)' –
Стоит прочитать это: [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an -asynchronous вызова). Это одна из самых распространенных точек смятения в Javascript и асинхронных операциях. – jfriend00
@ jfriend00 Хорошо. Поэтому элемент управления возвращается к console.log немедленно. Поэтому я не вижу измененного значения переменной. Поэтому невозможно достичь того, что я пытаюсь сделать. Я имею в виду доступ к переменной до ее обновления. Но я думаю, что это сработает, если я поставлю таймер. Я жду некоторое время, прежде чем печатать переменную – Zack