我用原生 JS 写了三个 ajax 请求,发现代码都是重复的,于是封装成一个方法传 url 和 data 进去,但是我在写渲染 dom 时发现,ajax 返回的值还未获取到页面就已经渲染完了,我猜想是因为 ajax 异步的原因。原本我想用定时器判断值是否为空,但是感觉这样岂不是又要写三个定时器?! 所以,现在有什么好办法让 ajax 返回数据后再次渲染页面呢? 感觉自己好笨啊,想不出灵活的办法😭
1
cxe2v 2021 年 12 月 27 日 js 有一个神技叫 回调函数
|
2
juzisang 2021 年 12 月 27 日
有一个东西叫 Promise
|
3
3dwelcome 2021 年 12 月 27 日
ajax 有同步选项的,并不全是异步。
|
4
fgwmlhdkkkw 2021 年 12 月 27 日
await
|
5
Joker123456789 2021 年 12 月 27 日 1. ajax 可以设置为同步的,sync:true
2. 你可以 把回调函数 传到你封装的 方法里去,把渲染的步骤写在回调里。 |
6
ayase252 2021 年 12 月 27 日
|
7
Felldeadbird 2021 年 12 月 27 日 办法一:请求设置会同步。 但这样页面会卡顿。
办法二:发起请求时,页面不做渲染动作。等回调有结果再渲染。 |
8
kop1989 2021 年 12 月 27 日 yourAjaxFuncion(url,data,callback);
调用时: yourAjaxFunction("/xxx",jsonStr,function(){}) |
9
shakaraka PRO 回调函数、Promise 、rxjs
我觉得你会问这个问题多半是基本有问题,恶补下 |
10
Elissa 2021 年 12 月 27 日
Promise all
|
11
shyangs 2021 年 12 月 27 日
看了下你的前端笔记
ES6 还没学到 Promise ? |
13
HeFengzz OP 感谢各位花费宝贵的时间回复本帖,看完深知小弟基础太差了,马上恶补
|
14
qfdk PRO 有个叫做 document ready 等 ready 了 再 ajax 然后回掉操作
|
15
ychost 2021 年 12 月 27 日
ajax 回调就好啦
|
16
LawlietZ 2021 年 12 月 27 日
@qfdk 大佬,之前搜 nodejs 网关,看到了你的一个帖子 https://www.v2ex.com/t/731916 ,想交流一下,可以加个 v 吗
|
17
LawlietZ 2021 年 12 月 27 日
@qfdk 大佬,之前搜 nodejs 网关,看到了你的一个帖子 h-ttps://www.v2ex.com/t/731916 ,想交流一下,可以加个 v 吗。
|
18
ch2 2021 年 12 月 27 日
async,await,fetch
|
19
SxqSachin 2021 年 12 月 27 日
sync
promise callback |
20
jeepc 2021 年 12 月 27 日
先把同步异步搞清楚
|
22
liKeYunKeji 2021 年 12 月 28 日 via iPhone
jquery 的 send before 回调了解一下
|