const f = n => new Promise((resolve, reject) => {
setTimeout(()=>{
if (n > 2){
resolve({result: `${n} is higher than 2`});
} else {
resolve({error: `${n} is lower than 2`});
}
}, 1000);
});
function *m(){
const {result, error} = yield f(parseInt(process.argv[2]));
if(error){
console.log(error);
} else {
console.log(result);
}
}
m();
node.js v6.2를 사용 중이며 node file.js 344
을 실행할 때 결과가 없습니다. 내가 선택한 기능에 디버거를 넣으면 디버그 모드에서 멈추지 않습니다.왜이 자바 스크립트 함수 생성기가 작동하지 않습니까?
반복자를 추출한 경우에만 const it = m();
으로 끝납니다. 위의 패턴이 올바른 것으로 보이는 예제를 보았습니다. 내가 뭘 놓치고 있니? 감사합니다.
스마트 인용 부호가 사용됩니까? –
당신은 약속을 하겠지만 약속은 지키지 않습니다. 이것을 달성하기 위해 코 루틴 환경이 필요하지 않습니까? –
나는 약속이 함수에서 반환되어야한다고 생각하고 단어 "반환"을 사용하는 동안에 만. 'n() return New Promise ((resolve, reject)'와 같은 것을 시도하십시오.) – Roysh