2017-12-23 14 views
0

toys이 지연된 API 요청이고 실행시 res 값이 반환되면 toysData이 기록 될 때의 최종 결과입니다.지연된 약속이 변수 angularjs로 돌아 가기

약속

const toys = (url) => { 
    const deferred = $q.defer(); 
    const params = { 
    id: url, 
    }; 

    ToysModel.get(params, (data) => { 
    deferred.resolve(data); 
    }, (error) => { 
    deferred.reject(error); 
    }); 
    return deferred.promise; 
}; 

요청

let toysData = toys(uuid) 
    .then(res => res); 

console.log(toysData); 

API 호출

export default class ToysModel { 
    constructor($resource, ENV) { 
    const url = `${ENV.apiEndpoint}/`; 

    const actions = { 
     oembed: { 
     url: `${ENV.apiEndpoint}/toy/:id`, 
     method: 'get', 
     params: { 
      id: '@id', 
     }, 
     crossDomain: true, 
     }, 
    }; 
    return $resource(url, {}, actions); 
    } 
} 
+1

console.log는 .then 내부에 있습니다. –

답변

0

그 변수 toysData의 woul d는 약속의 대상이됩니다. 성공 또는 실패 상태에 가입 할 수 있습니다. 응답을 기록하려면 로그 기능을 사용하여 성공 상태로 신청하면됩니다

toys(uuid).then(console.log);