내가 다른 인수 함수 호출 3 회를 만드는 중이라서 :for each 루프 for async code?
this.getContributorProperties('followers_url', 'contributorFollowers');
this.getContributorProperties('gists_url', 'contributorGists');
this.getContributorProperties('repos_url', 'contributorRepositories');
이 기능은 그 다음과 같습니다
async getContributorProperties(propertyUrl, propertyName) {
const contributors = await this.addLinkToContributor();
for (let i = 0; i < 10; i += 1) {
axios.get(`${contributors[i][propertyUrl]}?per_page=100&${API_KEY}`).then((res) => {
contributors[i][propertyName] = res.data.length;
});
}
return contributors;
}
그것은 참여자 (개체 유형)의 배열을 통해 루프와는 API 호출을 그들 각각을 위해. 나는 그들 각각의 3 API 호출을해야하므로 처음 세 호출. 내 코드를 건조하기 위해 나는 foreach 루프과 같이하고 싶었 : 나는이 작품을 좋아 3 개 통화를 할 때
[
['followers_url', 'contributorFollowers'],
['gists_url', 'contributorGists'],
['repos_url', 'contributorRepositories'],
].forEach(this.getContributorProperties);
foreach 루프가 componentDidMount()
입니다. 하지만 내가 할 때마다 오류가 발생합니다 :
Uncaught (in promise) TypeError: Cannot read property 'addLinkToContributor' of undefined
어떻게 작동합니까?
보너스 : 키 - 값 쌍을 각 개체에 어떻게 할당합니까?
가능한 (우리는 정말로 필요
await.all
concept 그래서 위의 혼합되지는 은유 ... 그) [* 콜백 내에서 올바른 'this'에 액세스하는 방법 *?] (http://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-context-inside-a-callback) 및/또는 [* 어떻게 "this"키워드는 작동합니까? *] (https://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work) –Stack Snippets ([[>] 도구 모음 단추)는 ** 실행 가능한 ** 코드. 코드 블럭의 경우,'{}'버튼 (또는 Ctrl + K)을 사용하거나 각 행을 4 칸 들여 쓰기 만하십시오. –