를 사용하려면 await실행 컨텍스트가 async본질적으로 있어야합니다.
말했듯이, 당신 executing context은 await무엇보다 먼저 당신이 할 일을 기꺼이하는 당신 의 성격을 정의 할 필요가 있습니다.
작업을 실행할 선언 async앞에 넣으 fn십시오 async.
var start = async function(a, b) {
// Your async task will execute with await
await foo()
console.log('I will execute after foo get either resolved/rejected')
}
설명:
귀하의 질문에 귀하는 본질적으로 병렬로 실행 method되는을 가져오고 asynchronous있습니다. 그러나 그 async메소드 를 실행하려는 곳은 사용 execution context하기 위해 정의 해야하는 다른 내부 async에 있습니다 await.
var helper = require('./helper.js');
var start = async function(a,b){
....
const result = await helper.myfunction('test','test');
}
exports.start = start;
후드 아래에서 무슨 일이 일어나고 있는지 궁금해
await약속 / 미래 / 작업 반환 방법 / 함수 async를 사용하고 await를 사용할 수있는 방법 / 함수를 표시합니다.
또한 당신은 잘 알고있는 경우 promises, await실제로 약속 / 해결의 동일한 프로세스를하고있다. 약속 체인을 만들고 resolve콜백 에서 다음 작업을 실행합니다 .
자세한 내용은 MDN DOCS를 참조하십시오 .
await내에서만 사용할 수 있다는async것입니다. 즉,await함수를 비 동기화하므로 그렇게 선언해야합니다.