0
를 얻는 코드의 단순화 된 버전입니다 :중첩 된 화살표의 기능은 여기에 글로벌 범위를
class Service {
static _runRequest = (request, success, failure) => {
request.then(
(response) => {
if (ResponseHelper.wasSuccessful(response)) {
success(response);
}
else if (ResponseHelper.wasUnauthorized(response)) {
SessionHelper.refreshCurrentSession().then(
(refreshResponse) => {
if (refreshResponse === true) {
this._runRequest(request, success, failure);
}
}
);
}
}
);
}
}
문제는 세션이 성공적으로 갱신 된 경우 다시 _runRequest
를 호출 할 때, this
는 전역 범위를 가리키고 있다는 것이다.
모든 아이디어가 왜 고쳐야합니까? this
은 중첩 된 함수가 몇 개 있어도 그대로 유지해야합니까? 코드 this
에서
작업 조각을 제공하시기 바랍니다 문제를 보여줍니다. – trincot
'Service'를 가리 키기 위해서는 화살표를'_runRequest'로 사용하지 말고 정상적인 기능을 사용하십시오. – loganfsmyth
@loganfsmyth 그래, 그것을 해결! 와우 예, 그들이 말하는 것처럼, 화살 기능은은 총알이 아닙니다. 동의 할 수 있도록 적절한 답을 작성하십시오. – dccarmo