저는 지금 당황합니다. 루프 중에 값이 할당되는 간단한 변수를 사용하고 있습니다. 루프를 종료 한 후 변수 값은 아직 정의되어 있지 않습니다. 경고가 아닌 한 먼저 값을 알려줍니다. 그러면 모든 것이 잘됩니다. 무슨 일 이니?자바 스크립트 값 할당 지연?
$(myarray).each(function(idx, item)
{
fetchSomethingRemotely(success: function(data) {
item.someValue = data; });
// if the following alert is not there, doSomething will never get called
// and the alert after the else will show item.someValue as undefined.
alert(item.someValue);
if (item.someValue != null) { doSomething(item.someValue); }
else { alert(item.someValue); }
});
편집 :
좋아, 내가 지금이의 더 나은 핸들을 가지고있다. 값 할당 (item.someValue = 123)은이 반복 내에서 콜백 함수 내부에서 발생합니다. 그래서 값을 아마 내가 거기에 코드 줄을 몇 연속적으로 액세스하려고하면 아직 거기 있지 않습니다. 어떻게 값을 할당받을 수 있을까요?
작성한 코드를 게시 할 수 있습니까? –
이 코드의 예는 무엇입니까? – Anurag
코드를 표시하십시오. – ChaosPandion