複数の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()の処理がずっと止まったままになってしまう。