ES 6中承诺对象的出现为了解决JS异步编程的问题。
<代码> Promise.all 代码>
承诺对象的三种状态:
,,,, 1。完成- - - - - -成功
,,,, 2.拒绝- - - - - -失败
,,, 3。等待——承诺对象实例创建的初始状态
承诺对象的两个重要方法:- - - - -解决(成功),,拒绝(失败)
代码>,<代码>解决方法可以使承诺对象的状态改变成成功,同时传递一个参数用于后续成功后的操作。
<代码> 代码>,拒绝方法则是将承诺对象的状态改变为失败,同时将错误的信息传递到后续错误处理的操作。
function helloWorld (准备好),{,,, ,,,,,,,return new 承诺(function (解决,,拒绝),{,,,,,,, ,,,,,,,if (准备好),{ ,,,,,,,,,,,解决(“Hello 世界!”);,,//成功时调用的参数 ,,,,,,,},{else ,,,,,,,,,,,拒绝(“Good 再见!”);,,,,//失败时调用的参数 ,,,,,,,} ,,,}); } helloWorld(真)(function (消息),{ ,,,警报(消息); },,function (错误),{ ,,,警报(错误); });
然后方法:<代码>然后(onFulfilld onRejected) 代码>
function printHello (准备好),{,,, ,,,,return new 承诺(function (解决,,拒绝),{,,,,,,, ,,,,,,,,if (准备好),{ ,,,,,,,,,,,解决(“Hello”); ,,,,,,,},{else ,,,,,,,,,,,拒绝(“Good 再见!”); ,,,,,,,} ,,,}); }function printWorld (), { ,,,警报(“世界”); }function printExclamation (), { ,,,警报(“!”); } printHello(真正的) ,,,不要犹豫(函数(消息){ ,,,,,,,警报(消息); ,,,}) ,,,不要犹豫(printWorld) ,,,不要犹豫(printExclamation);