回答編集履歴

1 サンプルコード追加

tkturbo

tkturbo score 5214

2016/09/11 16:17  投稿

setTimeoutは「Xms後に処理の実行を予約する」という機能です。
```javascript
process1().then(process2());
```
この記述だと「500ms後にconsole出力する」という処理を予約し終わったら「200ms後にconsole出力する」という処理を予約する、という処理をしたことになります。
TVの録画予約と放映時間の関係に似てますかね。
TVの録画予約と放映時間の関係に似てますかね。
process1の実行後にprocess2を実行しようとするならこんな感じでしょうか。
```javascript
function process1() {
 return new Promise(function(resolve, reject){
       setTimeout(function(){
             console.log("process1");
             process2();
             resolve();
       }, 500);
  });
}
function process2() {
 return new Promise(function(resolve, reject){
       setTimeout(function(){
             console.log("process2");
             resolve();
       }, 200);
  });
}
function test(){
 process1();
}
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る