javascript 等待 AJAX 函数返回值,然后再执行其余代码[duplicate]

h5qlskok  于 2022-10-30  发布在  Java
关注(0)|答案(1)|浏览(149)

此问题在此处已有答案

How do I return the response from an asynchronous call?(44个答案)
5小时前关门了。
截至4小时前,机构群体正在审核是否重新开放此问题。
我使用了这个 AJAX 函数

function asyncAjax(url){
    return new Promise(function(resolve, reject) {
            $.ajax({
                url: url,
                type: "POST",
                dataType: "json",
                beforeSend: function() {            
                },
                success: function(data) {
                    resolve(data) // Resolve promise and when success
                },
                error: function(err) {
                    reject(err) // Reject the promise and go to catch()
                }
            });
    });
}

称之为

async function start() {
      const result = await asyncAjax(baseUrl+"details");
      id =result.ID; 
      console.log('id',id);
    }

....
....

更新的代码:

var userID;
    async function getData() {
    const res = await fetch(baseUrl+'details', {
        method: 'POST',
    });
    data = await res.json();
    console.log('getData',data);
    }

    async function callmain() {
    userID=await getData();
    }

    callmain();

    const user = "userName" + userID;
    console.log('username',userID);

id正在被控制,但 AJAX 函数完成并返回id之前,仍要执行其余代码

zte4gxcn

zte4gxcn1#

您可以await呼叫,如下所示:
const result = await start()
您可以使用.then()

相关问题