s-单一职责原则
o-开放封闭原则
l-李氏置换原则
i-接口独立原则
d-依赖导致原则
promise
function loadImg(src) {
let promise = new Promise(function(resolve, reject) {
let img = document.createElement('img')
img.onload = function(){
resolve(img)
}
img.onerror = function(){
reject('图片加载失败')
}
img.src = src
})
return promise
}
let src = 'http://p5.qhimg.com/dmfd/160_90_/t014c576b9fbab7b23c.jpg'
let result = loadImg(src)
result.then(function(img) {
alert(`width:${img.width}`)
return img
}).then(function(img) {
alert(`height:${img.height}`)
}).catch(function(ex) {
alert(ex)
})