首页 > 其他 > 详细

promise使用

时间:2019-05-07 21:45:09      阅读:138      评论:0      收藏:0      [点我收藏+]

基本使用

// new 做了什么
// 1. 创建一个新的空对象
// 2. 将构造函数中的this指向这个新空对象
// 3. 执行构造函数中的代码
// 4. 返回这个对象
// 5. 这个对象上有一个__proto__指向构造函数的原型

var promise = new Promise((resolve, reject) => {
    var flag = false
    if (flag) return resolve()
    reject()
})
promise.then((res) => {
    var a = ‘成功回调‘
    console.log(a, 11111)
}, (err) => {
    var b = ‘失败回调‘
    console.log(b, 22222)
})

  函数封装

// new 做了什么
// 1. 创建一个新的空对象
// 2. 将构造函数中的this指向这个新空对象
// 3. 执行构造函数中的代码
// 4. 返回这个对象
// 5. 这个对象上有一个__proto__指向构造函数的原型

// 定义一个函数包起来
function promiseTest () {
    var promise = new Promise((resolve, reject) => {
        var flag = false
        if (flag) return resolve()
        reject()
    })
    return promise
}
/* var a = promiseTest()
console.log(a)
a.then((res) => {
    var a = ‘成功回调‘
    console.log(a, 11111)
}, (err) => {
    var b = ‘失败回调‘
    console.log(b, 22222)
}) */

promiseTest().then((res) => {
    var a = ‘成功回调‘
    console.log(a, 11111)
}, (err) => {
    var b = ‘失败回调‘
    console.log(b, 22222)
})

  promise读取文件

const fs = require(‘fs‘)
const path = require(‘path‘)

// 读取文件成功之后 帮我调用success函数  如果读取失败帮我调用fail函数
/*function success () {
    console.log(`成功了`)
}
function fail () {
    console.log(`失败`)
}
 fs.readFile(path.join(__dirname, ‘./files/1.txt‘), ‘utf8‘, (err, data) => {
    if (err) return fail()
    success()
}) */

// 用promise写
function ReadFilePromise () {
    return new Promise(function(resolve, reject) {
        fs.readFile(path.join(__dirname, ‘./files/1.txt‘), ‘utf8‘, (err, data) => {
            if (err) return reject()
            resolve()
        })
    })
}

ReadFilePromise().then((res) => {
    console.log(‘成功了‘)
}, (err) => {
    console.log(‘失败了‘)
})

  

const fs = require(‘fs‘)
const path = require(‘path‘)
// 用promise写
function ReadFilePromise (name) {
    return new Promise(function(resolve, reject) {
        fs.readFile(path.join(__dirname, `./files/${name}`), ‘utf8‘, (err, data) => {
            if (err) return reject(err)
            resolve(data)
        })
    })
}

ReadFilePromise(‘1.txt‘)
.then((res) => {
    console.log(res)
    return ReadFilePromise(‘2.txt‘)
})
.then((res) => {
    console.log(res)
    return ReadFilePromise(‘3.txt‘)
})
.then((res) => {
    console.log(res)
})
.catch(err => {
    console.log(err)
})

  

promise使用

原文:https://www.cnblogs.com/tuziling/p/10828133.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!