const handleLogoff = async (user, setUser) => {
    const handler = () => {
      console.log(user.name, 'is logging off')
      window.localStorage.removeItem('loggedUser')
      setUser(null)
      console.log('log off succ')
    } 
    console.log(handler)
    console.log('code goes here')
    return handler
  }

(注:此处异步确实没意义,要用的时候也应该是给handler加上async.不过借由这段代码才发现了这个事情)

如图,上述代码作为一个函数传给button的onClick属性,但是有async时,提示给予了一个object且不能正常触发。删除async后可以正常进行。

把函数打印出来之后才发现。。异步函数的prototype居然是object而不是function.

其他的后续有空再写把


I am a noob