Promise
当 promise 被调用后,它会以处理中状态开始。 这意味着调用的函数会继续执行,而 promise 仍处于处理中直到解决为止,从而为调用的函数提供所请求的任何数据。
被创建的 promise 最终会以被解决状态或被拒绝状态结束,并在完成时调用相应的回调函数(传给 then 和 catch)。
const fs = require('fs')
const getFile = (fileName) => {
return new Promise((resolve, reject) => {
fs.readFile(fileName, (err, data) => {
if (err) {
reject(err) // 调用 `reject` 会导致 promise 失败,无论是否传入错误作为参数,
return // 且不再进行下去。
}
resolve(data)
})
})
}
getFile('C:/Users/DLL/Desktop/ss.txt')
.then(data => console.log(data))
.catch(err => console.error(err))
再来一个例子
var ff = new Promise(function(resolve,reject){
if(1){
var d1 = "true"
resolve(d1)
}else{
var d2 = "false"
reject(d2)
}
}).then(function(d1){
console.log(d1)
}).catch(function(d2){
console.log(d2)
})
var ff = function(){
ff
}
ff()