obnizのフォーラムは新しいシステムに移行しております。

新しいフォーラムはこちらになります

asyncの非同期関数の同期処理化の方法は?



  • 関数Aの処理が終わってから関数Bの処理を実行するようにする方法を教えて下さい。関数内でサーボを動作させるためにawait obniz.wait()は必須だと思いますが、そうするとasync化が必要になり、AとBが意図しない並列動作してしまっているような気がします。

    ■現在のコード
    A();
    B();

    async function A(){
     ・
     ・
     servo1.angle(10);
     await obniz.wait(50);
     ・
     ・
    }

    async function B(){
     ・
     ・
     servo2.angle(20);
     await obniz.wait(100);
     ・
     ・
    }



  • @Google-Homer

    async () => {
      await A();
      await B();
    }();
    

    上記のようにawait を入れないと非同期実行されます



  • ありがとうございました。awaitで期待通りの動作をさせる事ができました。



SUGGESTED TOPICS