2017-12-19 6 views
4

여기에 비동기를 추가하면 어떤 이점이 있습니까?약속을 반환하는 함수 앞에 비동기를 추가하면 어떤 이점이 있습니까?

async function asyncFunc() { 
    return new Promise (function (resolve, reject) { 

    }); 
} 
+0

Promise/asyncFunc에는 비동기 요청이 포함되어 있지 않습니다. 그렇지 않은 경우 함수에 async 키워드를 사용하지 않아도됩니다. –

+4

절대 없음. – Bergi

+0

@Bergi - 저는 그것이 약속을 되 돌리는 빠른 시각화를 좋아합니다. 사용 가능한 "공용"메소드를 스캔하려고하므로 IDE에서 모든 기능을 축소 한 경우 유용합니다. – VtoCorleone

답변

5

async의 유일한 이점은 함수가 (항상) 약속을 반환한다는 시각적 표시이며 return 문에 대한 함수 본문을 검사 할 필요조차 없습니다. 행의 길이가 async function 일 경우 일관성을 유지하는 것이 좋습니다.

그 외에도 전혀 별다른 이점이 없습니다. 추가 Promise.resolve() 호출에서 반환 값을 래핑하는 것만 큼 좋습니다. 함수 본문이 약속 (new Promise 또는 다른 함수 호출)이있는 return 문으로 만 구성된 경우 async을 사용하지 않는 것이 좋습니다.

일반적으로 함수 본문에 await 표현이 없으면 async 키워드가 필요하지 않을 수도 있습니다. 이 규칙의 예외는 코드에서 예외가 발생하여 약속을 거부해야하는 경우에도 항상 함수가 약속을 반환하도록하려는 경우입니다.

3

나는 당신이 당신의 promise 함수 내에서 await를 사용하지 않는 경우 여기 async를 사용의 이점이 있다고 생각하지 않습니다.

async function asyncFunc() { 
    // no await here 
} 

async/await

는 함께 사용되며, 다른 하나를 사용하지 않고 어떠한 포인트도 없다.

+2

"*'promise' function *"은 무엇을 참조합니까? – Bergi

+2

Promise 실행기에서'await'을 사용하면'async'를'asyncFunc'에 추가하면 도움이되지 않습니다 - asyncFunc'에서'await'을 직접 사용하고자 할 때만'async'입니다 ** ** ** ** –

+0

이 필요합니다 용어가 명확하지 않을 수 있습니다. 내 대답 수정하기. –