1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
const readFile = function(filename) { const p = new Promise(function(resolve, reject) { const fs = require('fs') const options = { encoding: 'utf8' } fs.readFile(filename, options, function(error, content) { if (error !== null) { reject(error) } else { resolve(content) } }) })
return p }
let promise = readFile('foo.txt') promise.then(function(content) { console.log('debug file content', content) const c = content + ' suffix1' return c }, function(error) { console.log('debug error message', error) }).then(function(c1) { console.log('second then', c1) const c = c1 + ' suffix2' return c }).then(function(c) { console.log('third then', c) })
promise.then(function(content) { console.log('debug file content', content) }).catch(function(error) { console.log('debug error message', error) })
const fileList = [ 't1.txt', 't2.txt', 't3.txt', ] const list = fileList.map(function(item) { const r = readFile(item) return r })
Promise.all(list).then(function(content) { console.log('content', content) })
|