안녕하세요의 일부에 약속을 해결하기 위해 선택할 수 있습니다 anotherFunction가 트리거로 이동됩니다는 나는이 같은 설계 모듈의 기능을 가지고</p> <p>만 if 문
myFunction: function(some args, myBoolean) {
var deffered = q.defer()
if(myBool) {
module.exports.mySecondfunction(args, false, null)
} else {
return module.exports.mySecondfunction(args, true, deffered)
},
mySecondFunction: function(some args, myBoolean, myPromise) {
//Some work here
if(myBoolean) {
//Some work
promise.resolve();
return myPromise.promise
}
}
anotherFunction: function(some args) {
//some work
if (something) {
myFunction(some args, true)
} else {
myFunction(some args, false).then((data) => {
//do stuff
}
}
}
실패
TypeError: Cannot read property 'then' of undefined
라인은 다음과 같습니다 :
,691 "다른"부분은 내 서버에서 오류가 발생합니다myFunction(some args, false).then((data) => {...
내 코드에 어떤 문제가 있는지 알고 계십니까? 부울이 True로 설정된 경우에만 함수를 약속 했습니까?
지연을 거의 전달해서는 안됩니다. 'mySecondFunction'을 반환하고 싶다면 자신의 약속을 만드십시오. – Bergi
예, 때로는 약속을하고 때로는 돌려주지 않는 것이 좋습니다. 비동기적인 작업을 수행하지 않는 지사에 있다면 이미 완수 된 약속을 반환하십시오. – Bergi