2017-12-14 4 views
0

첫 번째 CLI 프로젝트에서 작업 중이며 API 요청을 실행하는 데 문제가 있습니다. 나는 fetch, axios, express, 그리고 npm 패키지 몇개를 시도했지만, 무엇이 잘못되었는지를 알 수는 없다. 프로젝트는 console.log를 실행하고 명령 줄에서 사용자 데이터를 수집하지만 API 데이터는 검색하지 않습니다. 이 시점에서 가짜 API 데이터 URL을 사용하고 있습니다. 다음은 코드입니다.Nodejs에서 API 요청이 정의되지 않았습니다.

명령 줄에서 파일을 실행할 때 'apiResponse : undefined'가 표시됩니다. 다시 말하지만, 여러 가지 라이브러리를 사용하여 시도 했으므로 근본적으로 잘못된 것을해야합니다. 이 기능의 console.log OUTSIDE가 인쇄되지만 console.logs INSIDE는 인쇄하지 않습니다. 어떤 도움이라도 대단히 감사하겠습니다! 내가 콘솔에 같은데요

답변

1

당신은 .get 방법이 가장 가능성이 항상이 경우 아무것도 당신이로 초기화 어떤 것 then 이외의 모든 할당을 의미하는 비동기

undefined 
Does this work? 

참조하거나 undefined.

1) Create undefined var apiResponse 
2) axios.get(...) 
3) console.log(apiResponse) 
4) #2 completes, assigns to `apiResponse` 
5) End execution 

여기 약속에 대해 one of many 자원이다 :

여기 일들이 실제로 일어나고있는 방법에 대한 높은 수준이다.

.then() 블록 안에 로그 문을 이동하십시오.

const axios = require('axios'); 

let apiResponse; 

axios.get('https://jsonplaceholder.typicode.com/posts') 
    .then(function(response) { 
    apiResponse = response; 
    console.log('Does this work?') 
    console.log('apiResponse: ', apiResponse); 
    }) 
    .catch(function (error) { 
    console.log(error, 'Error'); 
    }); 
+0

나는 그것에 대해 생각했지만 .get 안에 이미있는 로그 문은 인쇄되지 않습니다. 나는 그것이 어떤 이유로 든 그 기능에 들어간다고 생각하지 않습니다. –

+0

나는 액시 오즈를 한번도 사용하지 못했지만 방금 코드를 실행했고 작동합니다. http://requirebin.com/?gist=e00bc8e08eae1dbc8671ea86c4315c5d – Phix

+0

저 역시 저에게 적합하지 않습니다. 그것은 내 dev에 환경과 뭔가가 있습니까? –

관련 문제