如何解决这个axios序列?

时间:2019-07-10 00:51:20

标签: javascript vue.js promise axios

我在Axios和Promise对象中遇到问题

我要打印控制台日志1> 2> 3,但是打印了3> 1> 2

我该如何解决?我必须返回“你好,很高兴见到你”文字。

控制台日志按摩:

3[object Promise]             DetailPortfolio.vue:70
1Hello, Nice to meet you      translate.js:17 
2Hello, Nice to meet you      DetailPortfolio.vue:67

并且3 [object Promise]具有此值

承诺{} proto :承诺 [[PromiseStatus]]:“已解决” [[PromiseValue]]:“您好,很高兴认识您”

如果我可以使用PromiseValue,则无需修复Promise序列。

请帮助我,希望您开心谢谢您

在store.js中 云翻译API axios

    translate(){
        return new Promise((resolve, reject) => {
        let url = 'https://www.googleapis.com/language/translate/v2';
        axios.get(url, {
            params :{
                key : "key BLAHBLAH",
                source : store.state.source,
                target : store.state.target,
                q : "Hello world!"
            }
        }).then(response => {
                console.log('1' + response.data.data.translations[0].translatedText)
                resolve(response.data.data.translations[0].translatedText)
            })
            .catch(e => {
                alert("error" + e)
            })
        });
    }

在DetailPortfolio.vue中 这是发生问题的地方

    translate(){
        const data = Trans.translate().then(function(value){
                        console.log('2' + value);
                        return value;
                     })
        console.log('3' + data);
    }

0 个答案:

没有答案