DOM

Promise.resolve()メソッド

 編集:2022.07.29 by T.A.

与えられた値で解決した Promise オブジェクトを返します。

その値がプロミスであった場合は、そのプロミスが返されます。その値が thenable(すなわち "then" メソッド を持っている場合)であれば、返されるプロミスは thenable を「追跡」し、その最終的な状態を採用します。それ以外の場合は、引数で満足したプロミスが返されます。この関数は複数階層のプロミス風オブジェクト(例えば、何かで解決するプロミスで解決するプロミス)を単一の階層に平坦化します。

Promise.resolve(value)
value この Promise で解決する際の引数。解決するための Promise または thenable にすることもできます。
戻り値

与えられた値で解決された Promise、または value がプロミス・オブジェクトであった場合、値として渡されたプロミスです。

解説

静的な Promise.resolve 関数は、解決する Promise を返します。

Promise.resolve('Success').then(function(value){
  alert(value);	// "Success"
},function(value){
  // 呼び出されない
});

配列で解決:

var p = Promise.resolve([1, 2, 3]);
p.then(function(v){
  alert(v[0]);	//=1
});

別の Promise で解決:

var original = Promise.resolve(33);
var cast = Promise.resolve(original);
cast.then(function(value) {
  alert('value: ' + value);
});
alert('original === cast ? ' + (original === cast));

結果:

original === cast ? true

value: 33

¶省く


テスト