Promise.all関数を使用して、複数の約束を同時に解決しています。以下のコードを参照してください -Promise.All関数の呼び出しの問題
function check1() {
console.log('check 1 invoked')
return new Promise((resolve, reject) => {
setTimeout(()=> resolve('check1'), 4000);
})
}
function check2() {
console.log('check2 invoked')
return new Promise((resolve, reject) => {
setTimeout(()=> resolve('check2'), 4000);
})
}
var arr = [check1(), check2()];
Promise.all(arr)
.then((response) => console.log('response======>',response))
.catch((error) => console.error('error',error))
上記のアプローチの問題は、私は約束の配列を作成するときに、それぞれの機能が呼び出されるということです。私は2つの関数がpromise.all関数からのみ呼び出すように上記のコードを変更したいと思います。
注 - 約束関数を配列に格納する必要があります。私がvar arrとしてやっているように。
'arr = [check1、check2]; Promise.all(arr.map(a => a()).then ... '? – Sirko
' check1() '_calls_' check1'関数がすぐそこにあります。これはあなたが望むものではありません。関数は関数を呼び出して後で呼び出すことができます。単純に '()'を省略することで得ることができます。 –