美文网首页
异步请求处理

异步请求处理

作者: 不困于情 | 来源:发表于2019-01-16 16:00 被阅读6次

    经常会有小伙伴问异步的问题,异步处理方案有很多,我来说一下我常用的。

    背景:我们需要上传图片到oss,拿到oss返回的地址传给后台存到数据库。

    此时,两次请求都是ajax,如果不处理,可能会因为oss上传还未成功,就已经往后台传值去存储,会导致出现空值情况。

    由于异步请求顺序问题,我们需要把它变为同步。以往解决的方法往往会产生回调地狱的问题,ES6引入了async/await,我们就可以优雅地解决了。

    talk is cheap

    handleUploadToOss(){
        return new Promise (function(resolve,reject){
            //函数内容、调用上传oss接口
            ...
            //成功
            resolve()
            //失败
            reject()
        })
    }
    handleUpload(){
        return new Promise (function(resolve,reject){
            //函数内容、调用上传后台接口
            ...
            //成功
            resolve()
            //失败
            reject()
        })
    }
    async handleSubmit(){
        await handleUploadToOss();
        console.log("===上传到oss===")
        await handleUpload();
        console.log("===上传到后台===")
    }
    

    相关文章

      网友评论

          本文标题:异步请求处理

          本文链接:https://www.haomeiwen.com/subject/ffmmdqtx.html