Axios获取请求参数

时间:2017-12-12 10:46:52

标签: axios

嗨,我正在做一个axios请求来获取图像,但响应参数不能分配给任何类型的变量,但我可以在console.log中读取它们我错了吗?

 let string = null;

        axios.get('/images/0dace5ee-1be7-4d2c-a07fb03927096815')
            .then(res =>{
                 console.log(res.data) //returns the value of the binary
                 console.log(res.headers['content-type']);//returns the current type image/png
                 string = 'data:'+res.headers['content-type']+';base64,'+ btoa(res.data);
        })
        .catch(error => {
            console.log(error)
        })
        console.log(string)//returns null

1 个答案:

答案 0 :(得分:1)

的console.log(字符串);应该在承诺链内。

更多关于promises

由于它们以异步方式运行,因此console.log(在当时链之外)将在promise完成之前运行。因此,调用后需要运行的所有工作必须位于 .then 链中。或 .catch 表示错误

let string = null;

        axios.get('/images/0dace5ee-1be7-4d2c-a07fb03927096815')
            .then(res =>{
                 console.log(res.data) //returns the value of the binary
                 console.log(res.headers['content-type']);//returns the current type image/png
                 string = 'data:'+res.headers['content-type']+';base64,'+ btoa(res.data);
                 // it's async so you should console.log in in .then promise chain.
                 console.log(string);             
        })
        .catch(error => {
            console.log(error)
        })