等待承诺解决,然后继续

时间:2019-04-17 16:26:26

标签: javascript promise axios

我想等待axios函数继续执行,以便在进一步执行代码之前可以从响应获取url。我如何等待诺言解决?

 for (i = 0; i < responseArray.length; i++) {

                if(responseArray[i].id === "text"){

                    var id = responseArray[i].firstChild.firstChild.id

                responses.push({
                    type : 'text',
                    data : $("#" + id).val()
                })

                }
                else if(responseArray[i].id === "image"){
                     var fileID = responseArray[i].firstChild.firstChild.firstChild.firstChild.firstChild.lastChild.id
                    console.log(fileID)
                    var file = $('#'+fileID)[0].files[0]
                    var formData = new FormData()
                    formData.append('file',file)
                    formData.append('upload_preset',preset)
                    console.log(formData)
                    axios({
                        url: uploadURL,
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/x-www-form-urlencoded'
                        },
                        data:formData,

                    }).then(function(res) {

                        responses.push({
                            type : 'image',
                            data : res.data.url
                        })
                    }).catch(function(err){
                        console.log(err)
                    })

                }


            }

            data = {}
            data.responses = responses
             console.log(data.responses)

我想将响应存储在我的数据对象中。但是它不等待axios停止执行。

0 个答案:

没有答案