美文网首页
ES6 | Promise

ES6 | Promise

作者: 优秀的javaScript | 来源:发表于2019-08-05 20:52 被阅读0次

    Promise 是一个对象,从它可以获取异步操作的消息,是一种操作异步编程的解决方案。

    一般我们会在Promise里面写一些不一定马上完成的异步方法,比如ajax获取数据,而Promise能提供两个回调函数:resolve, reject,在获取到数据之后可以根据需要触发其中一个回调函数, 下面是自己写的一个demo便于理解

    用setTimeout来模拟异步获取数据,如果获取到了数据,触发recolve,并将取得的数据作为参数,否则触发reject。Promise还有几个特点:

    无法取消 Promise ,一旦新建(new)它就会立即执行,无法中途取消。

    如果不设置回调函数,Promise 内部抛出的错误,不会反应到外部。

    处于 pending 状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。

    在 JavaScript 主线程的当前运行完成之前,回调函数(then和catch)永远不会被调用。

    总结:创造一个Promise对象,在里面执行一个异步任务,根据异步任务的结果,自定义回调函数resolve或reject, 并用then或catch调用。

    相关文章

      网友评论

          本文标题:ES6 | Promise

          本文链接:https://www.haomeiwen.com/subject/fypvdctx.html