// new 做了什么
//1.创建一个新的空对象
//2.将构造函数中的this指向这个新空对象
//3.执行构造函数中的代码
//4.返回这个对象
//5.这个对象有一个__proto__指向构造函数原型
var promise= new Promise((resolve, reject) => {
var flag=1;
if(flag) return resolve()
reject()
});
promise.then((res)=>{
var a = "成功回调"
console.log(a)
},(err)=>{
var b = "失败回调"
console.log(b)
})
// ---------------------------------
function promiseTest(){
var promise= new Promise((resolve,reject)=>{
var flag=true;
if(flag) return resolve()
reject()
});
return promise
};
promiseTest().then((res)=>{
var a = "成功回调"
console.log(a)
},(err)=>{
var b ="失败回调"
console.log(b)
})
//---------------------------
// ## Promise
// 1.Promise是一个构造函数
// + 需要new Promise去创建一个Promise对象
// + 在new Promise(函数) 这个函数有2个参数一个是resolve(成功的回调)
// 一个是reject(失败的回调)
// 2.promise对象上有then()同时还有一个叫 catch方法
// + then接受2参数一个是成功的回调一个是失败的回调
// +在then接受中的分别传递成功和失败回调函数给resolve和reject
// 3.为什么要使用Promise
// +解决嵌套地狱问题
// 4.Promise会立即执行

  

封装promise的更多相关文章

  1. 如何封装Promise对象?

    最近看到了一个有趣的Promise的方法,这里记录下来 <script> class MyPromise { constructor(executor) { // 初始化state赋值为p ...

  2. 如何手动封装Promise函数

    第一步:Promise构造函数接受一个函数作为参数,该函数的两个参数分别是:resolve和reject; function Promise(task) { // 缓存this let that = ...

  3. 封装原生promise函数

    阿里面试题: 手动封装promise函数 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  4. Promise的封装

    要封装Promise,首先要了解Promise的使用. Promise有以下几个特点:1.Promise是一个构造函数 2.实例化Promise时有两个回调函数,resolve,reject ,成功执 ...

  5. Promise简介

    Promise是ES6中的函数,规范了如何处理异步任务的回调函数,功能类似于jQuery的defferred.简单说就是通过promise对象的不同状态调用不同的回调函数.目前IE8及以下不支持,其他 ...

  6. 读书笔记-你不知道的JS中-promise(2)

    继续填坑 模式 考虑下面的代码: function fn(x) { //do something return new Promise(function(resolve, reject) { //调用 ...

  7. ES6(promise)_解决回调嵌套简单应用

    一.前言 这个小案例是在node平台上应用的所以需要保证你的电脑: 1.安装和配置node.js环境 2.需要用node.js来开启一个http-server: 开启方法:https://blog.c ...

  8. nodejs -Promise

    创建一个 readFile.js,读取三个文件abc的内容并输出到控制台 var fs = require('fs') fs.readFile('./a.txt','utf-8',function ( ...

  9. 异步三部曲之promise

    概述 这是我看你不知道的JavaScript(中卷)的读书笔记,供以后开发时参考,相信对其他人也有用. 例子 首先来看一个例子,如果我们要异步获取x和y,然后把他们打印出来,那么用回调可以编写代码如下 ...

随机推荐

  1. 阶段5 3.微服务项目【学成在线】_day07 课程管理实战_03-新增课程-课程分类查询

    2 新增课程 2.1 需求分析 用户操作流程如下: 1.用户进入“我的课程”页面,点击“新增课程”,进入新增课程页面 2.填写课程信息,选择课程分类.课程等级.学习模式等. 3.信息填写完毕,点击“提 ...

  2. python调用HTMLTestRunner+unittest实现一次执行多个测试类,并生成与每个测试类对应的测试报告,具体看代码,附上整个project代码

    python自动化框架雏形,根据自己需要封装:ui自动化,接口自动化均可适用,python版本为python3.x,不要问我为什么不用python2.x,附上整个project代码:http://fi ...

  3. Oracle SQL 脚本跟踪

    NC Oracle SQL 脚本跟踪 脚本: select * from v$sqlarea a and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 1 ...

  4. Jenkins增加日志查看内容. 如何查看Jenkins插件的日志?

    进入Jenkins日志项 添加新的日志记录 把插件的GroupID信息填入 对应的源代码 日志生成代码 执行插件,即可查看插件里的日志输出

  5. Java实现回形数,只利用数组、循环和if-else语句

    import java.util.Scanner; public class learn { public static void main(String[] args){ System.out.pr ...

  6. cisco 各类子网的划分

    C类地址子网划分 /25 子网掩码为128: 1位的取值为1,其他7位的取值为0(10000000): 块大小128: (256-128): 2个子网,每个子网最多包含126台主机: /26 子网掩码 ...

  7. requirejs r.js 打包报错paths fallback not supported in optimizer please provide a build config path override for jquery

    错误原因: 改为:

  8. 【链接】js监听input输入框内容变化

    https://blog.csdn.net/idomyway/article/details/79078625 $("#input1").bind("input prop ...

  9. webstorm对引入的css资源进行提示

  10. Redis(1.16)Redis监控为什么是单线程?为什么快?

    [1]Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接. ...