5.3. Promise.resolve

  1. Promise.resolve(promise);
  2. Promise.resolve(thenable);
  3. Promise.resolve(object);

Promise.resolve代码示例

  1. var taskName = "task 1"
  2. asyncTask(taskName).then(function (value) {
  3. console.log(value);
  4. }).catch(function (error) {
  5. console.error(error);
  6. });
  7. function asyncTask(name){
  8. return Promise.resolve(name).then(function(value){
  9. return "Done! "+ value;
  10. });
  11. }

根据接收到的参数不同,返回不同的promise对象。

虽然每种情况都会返回promise对象,但是大体来说主要分为下面3类。

接收到promise对象参数的时候

返回的还是接收到的promise对象

接收到thenable类型的对象的时候

返回一个新的promise对象,这个对象具有一个 then 方法

接收的参数为其他类型的时候(包括JavaScript对或null等)

返回一个将该对象作为值的新promise对象