请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

2回答

提问者 慕侠9157770 2021-01-18 11:58:30

https://img1.sycdn.imooc.com//szimg/600503070869578c22260858.jpgSorry 是await是response.json()的

0 回复 有任何疑惑可以回复我~
Nolan 2021-01-15 13:26:53

Hi, 你是指 fetch 的 then 回调函数里吗?没有async的话,里面是不能用await的;

你可以试试把async删掉,会发现如果在里面用await会报错


0 回复 有任何疑惑可以回复我~
  • 提问者 慕侠9157770 #1
    不是, 视频里的部分, async里放了react的 setState(),
    问题是为什么更新state 要异步函数 await setState.
    
    1. 不写会有什么问题?
    2. setState是异步的吗?
    3. 如果是异步的, 那外函数是自动异步的吗?
    
    fetch(""", async (resp)=>{
      await setList(resp.data)....
    })
    回复 有任何疑惑可以回复我~ 2021-01-15 21:50:46
  • Nolan 回复 提问者 慕侠9157770 #2
    Hi, setState 内部是异步的,这样 React 就可以进行批量更新节省性能。
    
    
    但是,setState 内部是异步的,并不代表它一定返回Promise,实际上setState的返回值是void(这个可以从类型签名看出来)。所以如果我们使用setState的时候`await setState(xxx)`,这个 await 是不起任何作用的
    
    
    回答你的问题:
    1. 不写没问题
    2. 不是异步
    3. 不是异步
    
    
    抱歉我没有找到你具体说的是哪一段代码,可以说一下是哪个视频多少分钟吗?总之如果我写了 await setState 这个代码的话,这个await是有没有都可以的
    回复 有任何疑惑可以回复我~ 2021-01-16 11:32:54
  • 提问者 慕侠9157770 #3
    不好意思,await是在json里的 请看上面的图片. 但是同样这个问题, response.json()是异步的吗?
    回复 有任何疑惑可以回复我~ 2021-01-18 11:59:50
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信