请教一个关于 js 异步/同步流程的问题

流程是这样的:

    1.异步请求
    2.同步判断

需求:先是判断是否为敏感词的 ajax 异步请求,且该请求的优先级高于第二个同步的判断,即输入内容如果是敏感词,则不需要进入 2 中的同步判断。2个步骤中都对应了不同的错误提示。

现状:如果保持这样的流程就会使前端展示混乱,考虑的解决方式有:

解决思路 1

将 1 的异步请求变为同步,但是这样也同样会影响用户体验。

解决思路 2

将 2 的同步放在 setTimeout 的进程中变为异步,使用 async/await 异步请求 2 个判断。但是做感觉这样有点小题大做了,而且私以为也不是什么特别好的方法。

有没有更好的解决方法,请大家指教!

阅读 2.4k
3 个回答

第二步的同步判断不能放在第一步的回调函数里?

你这里的逻辑有点小混乱。

你这的异步请求跟同步判断是什么关系,是异步请求之后根据请求结果做判断,还是其他意思。

能否举个具体的例子。

function onInputChange(){
    ajaxService.isSensitiveWord(txt)
    .then(function(result){
        if(result){
            doSyncFunction();
        }
    })
}

这样不行?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题