J'essaie d'obtenir la valeur de Asset CODE>: [object Promise]
3 Réponses :
Vous devrez utiliser une fonction.
const asset = getAssetInformation(11002)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
promet de retourner une autre promesse.
Le moyen de déballer et de travailler avec une promesse consiste à traverser la fonction .Chen (), qui fonctionnera après les retours prometteurs. P>
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.
})
Utiliser p> async code> et attendre code> est un moyen pratique - 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 }
Utilisation de promesses - JavaScript | MDN
Duplicatésible possible de Pourquoi pourquoi Ma variable est-elle non altérée après que je la modifie à l'intérieur d'une fonction? - Référence de code asynchrone
@ zero298 qui n'est pas pertinent ici
@ user633183 je suis en désaccord. C'est un problème qui ne comprend pas comment
prometteur code>, une primitive asynchrone. Cette question précise comment utiliserprometteur code> en détail.@ zero298 L'astucieux n'essaie pas de modifier une variable, c'est une erreur très courante lorsqu'il s'agit de valeurs asynchrones, mais ce n'est pas une erreur que l'astucieux fait ici.
@ user633183