彼を殺した理由は何ですか.(同期、非同期)


同期同期処理:順次処理
Asycronous非同期処理:高速運転から処理を開始

そしてこの文章は私だけが理解できるように書かれています.
JavaScriptでは、
先に起動して、長い時間後にします.
この動作は非同期英語Lone A Syncronoですよ~~ハハハ
ほほほ?理解しますか.
いくつか時間がかかります.
今は2つだけ教えてあげます.
1.setTimeout(function(){},1000)
2.addEventListerner(「click」、関数)

コンセプト


動機。



順序どおりに勤務する.
始まりと終わりが一つ.
次から終わります.
そうなると長所は仕事がよくできていること...でも….遅すぎます...心が焦る
英語ではSychronousと言います
非ダイナミックなものが現れました

非同期


英語論Asycronous
一人の隊長がみんなに仕事を割り当てると、仕事が速くなるでしょう.
だから本当にちゃんとキャプテンを作るんだよ~?
JAvascriptは本当に同期して実行できます
機能を順次実現...
でも….
1.setTimeout(function(){},1000)
2.addEventListerner(「click」、関数)
このような機能は完成するのに長い時間がかかるかもしれません.
そしてそれをQという場所に送ります.
その後、高速で実行させ、長い時間を要する関数を実行します.
これで少し時間が早くなりますよね?理解済み
このコンセプトはスタックを再利用し、キュー連載.

promise


コールバック関数が好きでない場合は、探してください.
では、Promisが成功したら、実行してください.
catch:左側の失敗時に実行してください.
finally:成功しても失敗しても、実行後に実行してください.
let 프로미스 = new Promise(function(resolve, reject){
   resolve(); // 성공
   reject(); // 실패 

}); // 성공/ 실패 판정기계다. //두개 파라미터를 넣어줘야한다. 

프로미스.then(function(){

}).then(function(){

}).then(function(){
 
}) // 계속 이어 붙힐수 있다. 


프로미스.catch(function(){
})

프로미스.finally(function(){
})

Promise&thenの使い方

let 프로미스 = new Promise(function(resolve, reject){
   let 여러운연산 = 1 + 1 ;
    resolve();

}); // 성공/ 실패 판정기계다. //두개 파라미터를 넣어줘야한다. 

프로미스.then(function(){
  console.log('성공했어요')
})

Promise&Catchの使い方

let 프로미스 = new Promise(function(resolve, reject){
   let 여러운연산 = 1 + 1 ;
    reject();

}); // 성공/ 실패 판정기계다. //두개 파라미터를 넣어줘야한다. 

프로미스.catch(function(){
  console.log('실패했어요')
})
  

承諾の3つの状態


1.成功後の「解決」
2.判定待ち「pending」
3.失敗した場合「却下」

保留中の使用法

let 프로미스 = new Promise(function(resolve, reject){
   setTimeout(function(){
    resolve();
   },5000);
}); // 성공/ 실패 판정기계다. //두개 파라미터를 넣어줘야한다. 

프로미스.then(function(){
  console.log('성공')
})
  

使用理由の承諾


:かゆいから
(モチベーションを非同期に変換するのではありません)
コードにはこのようなデザインがあります...
$.ajax().done(function(){}).fail()
fetch()
このように作る方法があります.
だから知らなければならない.
(来世は財閥になろう)

使用例


コールバック関数は、機能を順次実行するために使用されます.!!!
(やった?…ははは)
でも.
いろいろな表現があります.
どうしてこんなにたくさんやったの.わかりません.

JavaScriptバージョン(promise)

let 이미지로딩 = new Promise(function(resolve, reject){
       let img = document.querySelector('#test');
            img.addEventListener('load', function(){
              resolve();
             })
             img.addEventListener('error', function(){
               reject()
             })
     })
      
     이미지로딩.then(function(){
       console.log('성공')
     }).catch(function(){
       console.log('실패')
     });

Ajaxバージョン


まずJクエリーを使用します.
私のクエリーをインストールしてください.
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> 
インストール後jクエリー構文で作成
     let 프로미스 = new Promise((성공,실패) => {
      $.get('https://codingapple1.github.io/hello.txt')
       .done(function(결과){
         성공(결과)
        });
      });

      프로미스.then(function(결과){
        console.log(결과);
      })

async/awaitの使用


async関数の前に貼るしかありません.
面倒な作成プロセスに使用
function 더하기(){
1 + 1
}

더하기().then(function(){
  
})
1次関数の前にasyncを付けてください.
ステップ2関数の前で次の機能を待つ
async function 더하기(){  // async 더해주기 
 var 프로미스 = new Promise(function(성공,실패) {
   var 힘든연산 = 1 + 1;
   성공(힘든연산);
});
  
  var 결과 = await 프로미스; 
  console.log(결과)
                      
}
第3段階に入ろうとして失敗した場合
try{} catch{}
async function 더하기(){  // async 더해주기 
 var 프로미스 = new Promise(function(성공,실패) {
   var 힘든연산 = 1 + 1;
   실패(100);
});
  
  try {
   var 결과 = await 프로미스; 
    console.log(결과);
  } catch {
    console.log('프로미스 연산이 잘 안되었군요')
  }  
                      
}
練習しましょう.
ボタンを押すと、コンソールウィンドウが正常に表示されます.
button id="btn">회원가입</button>



 <script>
  async function 더하기 (){
    var 프로미스 = new Promise(function(성공,실패){
      document.getElementById('btn').addEventListener('click', 
      function(){
        성공('성공했어요')
      })
    })  
    
    var 결과 = await 프로미스; 
    console.log(결과);
  
  }
  
  더하기();