什么是Promise?

* 承诺 Promise
* 结果 :resolve兑现 reject拒绝
* 凭据 then 然后 catch 捕获失败
随机输出两句话
var p = new Promise(function(resolve, reject) { setTimeout(() => { var n = Math
.random(); if (n > 0.5) { resolve('买别墅') } else { reject('等40岁') } }, 3000) }) p
.then(function(res) { console.log(res) //得到兑现 }).catch(err => { console.error(
err) //被拒绝延期 })
promise的作用

* 解决延期异步任务 避免回调层级过深
每隔一段时间输出一句话,用回调函数也可以解决,但层级过深,容易造成回调地狱,但用Promise可以解决这一问题

* 用回调函数解决 function say(str, time, callback) { setTimeout(() => { console.log(
str); if (callback) { callback(); } }, time) } say('你好', 3000, function() { say(
'加个微信', 5000, function() { say('欢迎', 2000) }) })
从上方可以看出回调函数,需要多个嵌套,当输出语句过多时太过于麻烦,层级过多。

* 用Promise解决 function say(str,time){ return new Promise((resolve,reject)=>{
setTimeout(()=>{ resolve(str); },time) }) } say('你好',3000) .then(res=>{ console.
log(res); return say('加个微信',5000) }) .then(res=>{ console.log(res); return say(
'欢迎',2000) }) .then(res=>{ console.log(res); })
Promise解决此类问题不需要多层嵌套,解决了层级过深的问题。

技术
©2019-2020 Toolsou All rights reserved,
中国移动科普:为什么手机移动网络要叫 “蜂窝移动网络”C语言---------俄罗斯方块(源代码)javascript事件(零基础详解)python实现vlookup_干货一:怎么在python里面实现vlookupC语言中数据的存储List集合中的常见面试题以及简单思路第十一届蓝桥杯python大学组国赛真题计算机科班出身和培训出身有什么区别?Java开发2020年最新常见面试题整理仿抖音小球刷新进度条(两个小球转动),代码很简单