簡體   English   中英

如何處理javascript承諾或結果

[英]how to handle javascript promise or result

我想做什么我想處理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: 然后訪問令牌:

在此處輸入圖片說明

braintree.client.create函數是異步的,所以它會返回一個 Promise。 該承諾將等待要么履行拒絕基於它是否成功並且resolve被稱為或失敗和reject被調用。

承諾已經到達達成或拒絕狀態后,只能用一個承諾的價值。 如果滿足, then使用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);
}());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM