使用ES6的Promise,一般把一个异步的函数,用Promise包一层:

var test = function(data){return new Promise(function(resolve,reject){try{if(data.statue === "SUCCESS"){
resolve(data);
}else{
reject(data);
}
}catch(e){
reject(e)
}
})
}

但是我了解到,可以直接使用promise对象,可以不用它来包裹任何异步(或同步)过程:

var promise = new Promise(function(resolve,reject){// ...resolve(999);
})
promise.then(function(value){console.log(value); // 999}).catch(function(error){console.error(error);
})

请问这种直接使用的方式,主要用在什么场景下?

回答

你说的直接使用的场景是这样?

var promise = new Promise(function(resolve,reject){ //空实现})

里面是空实现?QQ号码卖号平台地图那我告诉你没有这种使用场景,因为这种用法永远也不会被resolve或者reject。 所以无意义

根据问题修正:

通常也不会按你的那种写法,太啰嗦。 简写是这样的

Promise
.resolve(999) //链式可能

这种用法是因为,后面可能有一系列能被(或者需要被)链式调用的操作,他们也需要一个Promise作为起始点


更多相关文章

  1. 【前端】在electron使用ckplayer播放rtmp在开发环境可以播放,打包
  2. PHP函数的使用
  3. 使用定位、flex与grid布局仿酒仙网手机端页面
  4. 使用php数组遍历及模拟数据制作一个省级、市级、区县信息详情表
  5. html5表单的required属性使用
  6. 详解如何使用ReactiveObjC
  7. php数据类型及变量的定义使用
  8. 【前端】新手使用uikit-幻灯片,但是在播放时图片会闪烁,检查了半天
  9. TS vs JS基础类型

随机推荐

  1. UWP 新特性--Creator Update
  2. szq.orm.sql详细使用实例代码
  3. szq.orm.sql
  4. Elasticsearch是什么?Elasticsearch 能够
  5. 关于.net 3.5中的委托实例
  6. C#中SQL参数传入空值出错误和如何解决办
  7. 关于脚本PowerShell的设计实例
  8. devexpress TreeList递归的实例代码
  9. C# 多线程--线程池的详细介绍
  10. CTS(common type system)的实例介绍及应用