async를 사용하여 함수를 구현했으나 작동하지 않습니다. 항상 즉시 해결되며 result
은 항상 정의되지 않습니다.javascript async/await 버전 대 Promise 버전의 함수가 작동하지 않습니다.
여기에 원래의 비동기 버전입니다 :
async function validateOne(item, type, state) {
const validation = VALIDATIONS[type]
const result = !(await validation.check(state[item.name].value, state))
return result || validation.message
}
그렇게 나는 약속을 사용하여 재 작성 작동하지 않는 이유를 알아낼 수 있고 그것을 잘 작동합니다.
내 마음에 두 가지 구현이 동일해야합니다 (명확하게 일치하지 않음). 혼란 스럽습니다. 바라건대 그것은 어떤 통찰력이라도 미리 알려 줘서 감사합니다.
FWIW, 필요하지 않은'여기에 새로운 Promise' : 당신은 그냥 validation.check' '로 시작하는 코드를 반환 할 수 있습니다. – lonesomeday