antd message.loading 遇到同步fs写入的时候照成弹出执行延时

新手上路,请多包涵

当message注释后功能正常,但是添加后
弹框顺利执行,但是底部的方法延时了大约2s执行
async await 删除,message.loading直接不弹出
1644488771(1).png

阅读 2.5k
1 个回答

这个东西不应该写一起的,思考一下就明白了。await必然造成等待loading完成才会执行下一语句,而不写的话可能后面都执行完了loading都没准备好,结果更尴尬。通常逻辑是

const fn = async () => {
    const loading = message.loading({...}, 0); // 自己控制它
    await selectDeleteAll(); // 利用await去执行请求
    loading(); // 关闭loading
}

或者干脆不用await

const loading = message.loading({...}, 0);
doPromise().then(() => loading());
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏