如何将 Ajax (Jquery) 转换为 fetch async

How to convert Ajax (Jquery) into fetch async

我编写了这段代码,它非常适合我。 但是当我尝试将其转换为获取时,它不起作用,因为 return 一个承诺。 我不知道如何在获取时将其用作异步假。

            'getProjectConstants': function(constArray)
            {
                var result='';
                $.ajax({
                type:       "GET",
                url:        `${constProjectBaseUrl}/ajax/getProjectConstants/${constArray}`,
                async:      false,
                dataType:   "json",
                success: function(data) {
                result = data
            }
        });
        return result

我试过这样做,但是不行

        fetch(`${constProjectBaseUrl}/ajax/getProjectConstants/${constArray}`)
        .then((response) => response.json())
        .then((response) => {
             // console.log(response)
             return response
        }) // end of .then((response) => {
        .catch(error => {
             console.log("[ajax.getProjectConstants] Error => " + error);
        }); // end of .catch(error => {

你可以试试这个:

async function getProjectConstants(){
    const json = await (await fetch(`${constProjectBaseUrl}/ajax/getProjectConstants/${constArray}`)).json();
    return json;
}
ajax.getProjectConstants(['PROJECT_PASSWORD_MINIMUM', 'OWNER_NAME', 'DB_TBL_TIME_ZONE']).then((constant) => {
    console.log(constant.OWNER_NAME)
}).catch(console.error);