nikumaro2’s blog

webエンジニアです。HTML、CSS、Javascript、React.jsの開発についてまとめます。また、初心者英語TOEIC350点。音楽(ベース)、ゴルフなどもたまに、、

複数のasync awaitを呼ぶときの注意点

async await処理で、ハマったので備忘録としてメモしておきます。

以下のように連続でA()、B()を呼び出して処理をする。

    function() {
        A();
        B();  
    }


A()、B()では、関数の最初にasync awaitで同じ処理をする。

    A = async () => {
        let { status } = await Permissions.askAsync(Permissions.LOCATION);
        console.log(status)
  ...
 
    B = async () => {
        let { status } = await Permissions.askAsync(Permissions.LOCATION);
        console.log(status)
  ...
 



await処理は、戻り値がくるまで処理をストップすることができる処理だが、このようにA(),B()を使うと、A()のawait処理を実行すると、B()にも同じ処理があるので、B()のawait()に戻ってきてしまって、A()の処理がずっと止まったままになってしまう。