클라이언트에서 Javascript를 사용하여 Promise를 사용하여 (적어도 나를 위해) 이상한 행동을하고 있습니다.배열 내부에 Promise가 없습니다.
const getSomething = (h) => {
return new Promise(
(resolve, reject) => {
//using h (accessing element)
....
지금 함수가 객체의 배열을 받아 들여야하지만 약속 내부 배열을 사용하는 경우가 undefined
입니다 : 시간 객체입니다
const getSomething = (hs) => {
return new Promise(
(resolve, reject) => {
const a = hs[0] //hs undefined
은 뭔가 이런 식으로도 시도 :
const getSomething = (hs) => {
const _hs = [];
_.each(hs, (h) => { h.push(getH(h._id)); }); //where getH return the same object contained in array
return new Promise(
(resolve, reject) => {
const a = _hs[0] //_hs undefined
나는 이것이 메모리와 관련된 것이 될 수 있다고 생각하지만, 내가 왜 잘못하고 있는지 알지 못한다. 아이디어가 있으십니까?
'getSomething (undefined) '를 호출하지 않는 한 hs는 결코 정의되지 않을 것입니다. – aaaaaa
Promise 전에'console.log (hs)'를 해봤습니까? Promise가 실행되기 전에'hs '를 수정하고 있습니까? 실행중인 코드의 나머지가 끝날 때까지 실행되지 않기 때문에 비동기식입니다. –
hs 정의되어 있고 디버그에서 볼 수 있지만 Promise 내부에는 없습니다. – perusopersonale