如何处理JavaScript承诺或结果

时间:2020-03-17 16:43:56

标签: javascript

我要做什么才能处理javascript结果或获取价值

这是代码

<!-- <script src="https://js.braintreegateway.com/js/braintree-2.32.1.min.js"></script> -->
<script src="https://js.braintreegateway.com/web/3.9.0/js/client.min.js"></script>
<script>
// We generated a client token for you so you can test out this code
// immediately. In a production-ready integration, you will need to
// generate a client token on your server (see section below).
var clientToken ='eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpGVXpJMU5pSXNJbXRwWkNJNklqSXdNVGd3TkRJMk1UWXRjSEp2WkhWamRHbHZiaUlzSW1semN5STZJa0YxZEdoNUluMC5leUpsZUhBaU9qRTFPRFExTkRVNE9UUXNJbXAwYVNJNklqRm1NalF3WTJNNExUWTRObVF0TkRNeFppMWhNVGd4TFRoaVlUUTNORFppWVRZME1pSXNJbk4xWWlJNklqbG5hamRqYzNCa2VXZzJOV04wZDNFaUxDSnBjM01pT2lKQmRYUm9lU0lzSW0xbGNtTm9ZVzUwSWpwN0luQjFZbXhwWTE5cFpDSTZJamxuYWpkamMzQmtlV2cyTldOMGQzRWlMQ0oyWlhKcFpubGZZMkZ5WkY5aWVWOWtaV1poZFd4MElqcG1ZV3h6Wlgwc0luSnBaMmgwY3lJNld5SnRZVzVoWjJWZmRtRjFiSFFpWFN3aWIzQjBhVzl1Y3lJNmUzMTkuNXFWZE9ud3hRSVpldHpselozRmxrb2FSNlBvcjl0WFZfQ2JsendNbGRLMDFmZjZmMFRBX0pVenhHbXc0MHRlTlVQNEdWWWlSR2NLQnhOZWdqS0JUWkEiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzLzlnajdjc3BkeWg2NWN0d3EvY2xpZW50X2FwaS92MS9jb25maWd1cmF0aW9uIiwiZ3JhcGhRTCI6eyJ1cmwiOiJodHRwczovL3BheW1lbnRzLmJyYWludHJlZS1hcGkuY29tL2dyYXBocWwiLCJkYXRlIjoiMjAxOC0wNS0wOCJ9LCJjaGFsbGVuZ2VzIjpbImN2diIsInBvc3RhbF9jb2RlIl0sImVudmlyb25tZW50IjoicHJvZHVjdGlvbiIsImNsaWVudEFwaVVybCI6Imh0dHBzOi8vYXBpLmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvOWdqN2NzcGR5aDY1Y3R3cS9jbGllbnRfYXBpIiwiYXNzZXRzVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhdXRoVXJsIjoiaHR0cHM6Ly9hdXRoLnZlbm1vLmNvbSIsImFuYWx5dGljcyI6eyJ1cmwiOiJodHRwczovL2NsaWVudC1hbmFseXRpY3MuYnJhaW50cmVlZ2F0ZXdheS5jb20vOWdqN2NzcGR5aDY1Y3R3cSJ9LCJ0aHJlZURTZWN1cmVFbmFibGVkIjpmYWxzZSwicGF5cGFsRW5hYmxlZCI6dHJ1ZSwicGF5cGFsIjp7ImRpc3BsYXlOYW1lIjoiRmFtb3VzIFNtb2tlIFNob3AiLCJjbGllbnRJZCI6IkFmUmYzM2E3WWw0dDgtWlV6MnVUc0FlQzFMYUQ4eDBrbS1kQW44MXBObEljT3Ayd215eTlGbFA3XzdyUV9DRWxDX2lXZDdVaWw5Z3ZMSmxQIiwicHJpdmFjeVVybCI6Imh0dHBzOi8vd3d3LmZhbW91cy1zbW9rZS5jb20vaGVscC9wcml2YWN5IiwidXNlckFncmVlbWVudFVybCI6Imh0dHBzOi8vd3d3LmZhbW91cy1zbW9rZS5jb20vcmVnaXN0ZXIiLCJiYXNlVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhc3NldHNVcmwiOiJodHRwczovL2NoZWNrb3V0LnBheXBhbC5jb20iLCJkaXJlY3RCYXNlVXJsIjpudWxsLCJhbGxvd0h0dHAiOmZhbHNlLCJlbnZpcm9ubWVudE5vTmV0d29yayI6ZmFsc2UsImVudmlyb25tZW50IjoibGl2ZSIsInVudmV0dGVkTWVyY2hhbnQiOmZhbHNlLCJicmFpbnRyZWVDbGllbnRJZCI6IkFSS3JZUkRoM0FHWER6VzdzT18zYlNrcS1VMUM3SEdfdVdOQy16NTdMallTRE5VT1NhT3RJYTlxNlZwVyIsImJpbGxpbmdBZ3JlZW1lbnRzRW5hYmxlZCI6dHJ1ZSwibWVyY2hhbnRBY2NvdW50SWQiOiJGYW1vdXNTbW9rZVNob3BfaW5zdGFudCIsImN1cnJlbmN5SXNvQ29kZSI6IlVTRCJ9LCJtZXJjaGFudElkIjoiOWdqN2NzcGR5aDY1Y3R3cSIsInZlbm1vIjoib2ZmIiwiYnJhaW50cmVlX2FwaSI6eyJ1cmwiOiJodHRwczovL3BheW1lbnRzLmJyYWludHJlZS1hcGkuY29tIiwiYWNjZXNzX3Rva2VuIjoiZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKRlV6STFOaUlzSW10cFpDSTZJakl3TVRnd05ESTJNVFl0Y0hKdlpIVmpkR2x2YmlJc0ltbHpjeUk2SWtGMWRHaDVJbjAuZXlKbGVIQWlPakUxT0RRMU5EVTRPVFVzSW1wMGFTSTZJalJtWVRBNU5tUmhMVEUzTmpFdE5EUmtNUzFpT0RrM0xUQmxNbVZoWkRNelltWmhOaUlzSW5OMVlpSTZJamxuYWpkamMzQmtlV2cyTldOMGQzRWlMQ0pwYzNNaU9pSkJkWFJvZVNJc0ltMWxjbU5vWVc1MElqcDdJbkIxWW14cFkxOXBaQ0k2SWpsbmFqZGpjM0JrZVdnMk5XTjBkM0VpTENKMlpYSnBabmxmWTJGeVpGOWllVjlrWldaaGRXeDBJanBtWVd4elpYMHNJbkpwWjJoMGN5STZXeUowYjJ0bGJtbDZaU0lzSW0xaGJtRm5aVjkyWVhWc2RDSmRMQ0p2Y0hScGIyNXpJanA3ZlgwLnE4bGVPYm1RNElfdjJIMUE0VHp0MHZtOFBDdks4ZE5MUUpfaHJRUVhPVmpZSXR0MFlvTzNqS2ZxNUZENVFpVkdpYzZ1clEzY2pMcVd5ajR2NW1YbWxRIn19'
client_token = braintree.client.create({
      authorization: clientToken
    });

    console.log(client_token);

</script>

我想访问[[PromiseValue]]:然后访问_braintreeApi:然后访问accessToken:

enter image description here

1 个答案:

答案 0 :(得分:0)

braintree.client.create函数是异步的,因此它将返回Promise。根据是否成功并且调用resolve或失败并调用reject,promise将等待 fulfill reject

承诺的价值只能在承诺达到已实现或已拒绝状态后使用 。如果满足,请使用then方法通过回调访问数据。还有catch方法来捕获可能发生的任何错误。

var clientToken ='eyJ2ZXJzaW9uIj...'
braintree.client.create({
  authorization: clientToken
}).then((client_token) => {
  console.log(client_token);
});

您还可以使用async / await语法来等待承诺解决并使用该值。这将停止在await处的函数执行,并继续直到达到上述任一状态。

(async function() {
  var clientToken ='eyJ2ZXJzaW9uIj...'
  let client_token = await braintree.client.create({
    authorization: clientToken
  });
  console.log(client_token);
}());