(我不认为这是How do I make asynchronous call in an event handler的重复,即使标题相似。它也不同于关于禁用按钮的问题,因为可能有很多不同的事件会导致异步冲突。)
当访问我的网页时,单击按钮或按下某个键时,我希望能够执行异步 Promise 链,例如读取数据库、读取文件或写入日志条目。但是这些需要离开事件处理程序/侦听器,因此似乎不可能在“then”链的末尾从原始处理程序返回值。
这没问题,但是从处理程序同步(即立即)返回的问题是用户可能会单击同一个按钮或再次按下该键,甚至执行不相关的操作,这可能会触发冲突的异步操作(假设这些操作不能并行完成)。
我想我想在异步操作正在进行时“关闭”事件系统(可能会在意外终止失败的情况下超时),但这感觉很危险。这肯定不是正确的做法。
繁星coding
呼唤远方
相关分类