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

新手上路,请多包涵

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

阅读 2.7k
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());
推荐问题