Promise --最终会变为可用值的代理
处理中状态 -》 被解决状态或被拒绝状态
Battery API Fetch API Service Worker
// 创建 promise let done = true
const isItDoneYet = new Promise((resolve, reject) => { if (done) { const workDone = '这是创建的东西' resolve(workDone) } else { const why = '仍然在处理其他事情' reject(why) } })
// Promisifying 的技术 onst fs = require('fs') const getFile = (fileName) => { return new Promise((resolve, reject) => { fs.readFile(fileName, 'utf8',(err, data) => { // readFile if (err) { reject(err) return } resolve(data) }) }) }
getFile('./test.json') .then((data) => console.log(data)) .catch(err => console.log(err))
// 链式 promise // Fetch API 是基于 promise 的机制