1

それは動作しdocument.addEventListener("DOMContentLoaded", async () => {})ますが、JQuery で動作させることに興味があります。

また、後で約束コールバックの外で変数が必要になるため、約束ではなく、Async/Await を使用したいと考えています。

let products = [];

$(document).ready(async function() {      // Does not work with ASYNC
    await getProducts();                  // IF i dont use async await, products = empty
    products.forEach(product => console.log(product))
})

const getProducts = () => {
   // Ajax call to server
   // products = ajaxResult;              // asign variable to result
   // returns Promise;
}
4

1 に答える 1

4

この問題は、JQuery バージョン 3.2.1 が原因であり、おそらくいくつかの下位バージョンにも原因がありました。$(document).ready(async function() {}) ただし、それ以降のバージョンでは問題なく使用できます。

$(document).ready( handler ) 下記の@Philとして非推奨です。

$(handler) 代わりに使用することをお勧めします。JQuery ドキュメント

于 2021-11-16T06:06:23.540 に答える