gpt4 book ai didi

javascript - 如何让javascript回调函数先执行?

转载 作者:行者123 更新时间:2023-11-28 17:57:15 25 4
gpt4 key购买 nike

我有以下代码(我已删除并简化):

function myOrder() {
setLocation(); // sets a value for global variable 'location'
// using GET

$.post('http://111.111.111.111/order', {
Item: Chair,
Price: 50,
Location: location;
})
}

问题在于该函数在 setLocation() 回调函数完成之前执行 post() 代码。

我需要首先完成 setLocation() 函数,以便它可以为“位置”分配一个全局变量,然后将其用作 POST 部分中的值。

有人知道这是否可以做到吗?

谢谢

编辑:澄清一下:setLocation() 是一个 GET 请求,它通过 GPS 获取当前位置并将其存储在全局变量名称“location”下。

所以我认为正在发生的是 myOrder() 方法在回调函数完成其 GET 响应之前进行 POSTS。

最佳答案

使用异步流

function setLocation() {
return new Promise((resolve, reject) => {
// I do my stuff

// I finished
resolve();
});
}

function myOrder() {
setLocation().then(() => {
$.post('http://111.111.111.111/order', {
Item: Chair,
Price: 50,
Location: location;
})
})
}

关于javascript - 如何让javascript回调函数先执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44221258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com