Untuk menggunakannya await, konteks pelaksanaannya harus bersifat asyncalami
Seperti yang dikatakan, Anda perlu menentukan sifat di executing contextmana Anda bersedia awaitmelakukan tugas sebelum apa pun.
Letakkan saja asyncsebelum fndeklarasi di mana asynctugas Anda akan dieksekusi.
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')
}
Penjelasan:
Dalam pertanyaan Anda, Anda mengimpor a methodyang ada asynchronousdi alam dan akan dieksekusi secara paralel. Tetapi di mana Anda mencoba untuk mengeksekusi asyncmetode itu di dalam yang berbeda execution contextyang perlu Anda tentukan asyncuntuk digunakan await.
var helper = require('./helper.js');
var start = async function(a,b){
....
const result = await helper.myfunction('test','test');
}
exports.start = start;
Ingin tahu apa yang terjadi di balik terpal
await menggunakan metode / fungsi yang menjanjikan / masa depan / pengembalian tugas dan async menandai metode / fungsi yang mampu menggunakan await.
Juga jika Anda terbiasa promises, awaitsebenarnya melakukan proses janji / ketetapan hati yang sama. Membuat rantai janji dan menjalankan tugas Anda berikutnya diresolve callback untuk Anda.
Untuk info lebih lanjut, Anda dapat merujuk ke MDN DOCS .
awaithanya bisa digunakan di dalam suatuasyncfungsi. Artinya,awaitmembuat fungsi menjadi asinkron, jadi harus dideklarasikan seperti itu.