Gulp异步

313 阅读1分钟

常见的gulp异步操作

const fs = require('fs')
exports.callback = done => {
    console.log('callback task~')
    done()
}

exports.callback_error = done => {
    console.log('callback task~')
    done(new Error('task failed!'))
}

exports.promise = () => {
    console.log('promise task~')
    return Promise.resolve()
}

exports.promise_error = () => {
    console.log('promise task~')
    return Promise.reject(new Error('task failde~'))
}

const timeout = time => {
    return new Promise( resolve => {
        setTimeout(resolve, time)
    })
}

exports.async = async () => {
    await timeout(1000)
    console.log('async task~')
}

exports.stream = () => {
    const readStream = fs.createReadStream('package.json')
    const writeStream = fs.createWriteStream('temp.text')
    readStream.pipe(writeStream) //相当于复制
    return readStream
}