Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 832 Bytes

24.了解 JavaScript Promise.md

File metadata and controls

49 lines (34 loc) · 832 Bytes

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 的机制