【发布时间】:2019-02-19 14:52:28
【问题描述】:
我想开始使用 axios 从我已经编码的 RESTful api 中获取数据,但我不断收到 [object Promise] 而不是像数据这样有用的东西。
这是我的代码。
import axios from "axios";
const get = url => {
return axios
.get(url)
.then(response => {
return response.data;
})
.catch(error => {
return error;
});
};
我 console.log 这个的返回值并得到 [object Promise]。当我在下面的代码中调用 get 时,我需要我的 restful api 发回的数据。
const {get, post} = client;
const data = get("localhost:4000/data");
console.log(`Data: ${data}`);
感谢任何帮助。
【问题讨论】:
-
你需要通过调用
then()来等待promise。学习 Promise 的基础知识;你无法摆脱异步。 -
promise 的point 是以同步的方式使用异步操作。查看
async await了解使用承诺的更简洁的方式。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
这是我没有编写返回承诺的东西。我从上面的代码中得到了一个承诺。我只需要提取类似于数据的东西。您的链接与此处无关。
-
promise 的重点是they are returnable objects still acting like asynchronous callbacks,帮助处理异步任务。但是不,从根本上仍然不可能从承诺中提取价值,因为它只会在未来实现。
标签: javascript ecmascript-6 promise axios