我正在尝试获取asset
的值:
const asset = getAssetInformation(11002);
function getAssetInformation(id) {
return axios({
method: 'GET',
url: "/asset-information",
params: {assetId: id}
});
}
console.log(asset);
结果是:
[object Promise]
如何从请求中获取返回值?
答案 0 :(得分:0)
您将需要使用.then函数。
const asset = getAssetInformation(11002)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
答案 1 :(得分:0)
使用async
和await
是一种实用的方法-
function axios(query) { // fake axios, for demo
return new Promise (r =>
setTimeout(r, 1000, { asset: query.params.assetId })
)
}
function getAssetInformation(id) {
return axios({
method: 'GET',
url: "/asset-information",
params: {assetId: id}
})
}
async function main() { // async
const asset = await getAssetInformation (11022) // await
console.log(asset)
}
main()
// 1 second later ...
// { asset: 11022 }
答案 2 :(得分:-1)
承诺返回了另一个承诺。
解压缩和处理承诺的方法是通过.then()函数,该函数将在承诺返回后运行。
const asset = getAssetInformation(11002);
function getAssetInformation(id) {
return axios({
method: 'GET',
url: "/asset-information",
params: {assetId: id}
});
}
这里的资产是一个承诺,您想在其上使用a来获取价值。
而不是..
const asset = getAssetInformation(11002);
使用
getAssetInformation(11002)
.then((response) => {
//What you returned will be here, use response.data to get your data out.
} )
.catch((err) => {
//if there is an error returned, put behavior here.
})