私はYDKJSを通して働いており、約束の章を見直しています。このセクションでは新しいPromiseを作成するのではなく、自分自身でtimeOutを返すのはなぜですか?
、それは我々が、その後に何が起こっているのかに同期を追加する方法を示しています。
var p = Promise.resolve(21);
p.then(function(v){
console.log(v); // 21
// create a promise to return
return new Promise(function(resolve,reject){
// introduce asynchrony!
setTimeout(function(){
// fulfill with value `42`
resolve(v * 2);
}, 100);
});
})
.then(function(v){
// runs after the 100ms delay in the previous step
console.log(v); // 42
});
それから、こう述べています!「信じられないほど強力だこと今、私たちは、しかし、多くの非同期一連のステップを構築することができます必要に応じて、各ステップが次のステップを遅らせることができます(またはそうではありません)。
なぜ新しいPromise
を作成する必要がありますか?なぜ我々はちょうどsetTimeout
を返すことができないのですか?確かにタイムアウトが実行された後に進むだけですか?それとも、それはそうではないのか?
@Pointy、no、setTimeoutは、識別子を返します。これは、clearTimeoutで使用できます。 –
@YuriyYakymああもちろん。私は推測するより多くのコーヒーが必要:) – Pointy