体育资讯网

您现在的位置是:首页 > 分类14 > 正文

分类14

jspromise源码(js promise源码)

hacker2022-06-12 10:14:20分类1456
本文目录一览:1、JSPromise同步和异步代码执行的区别

本文目录一览:

JS Promise 同步和异步代码执行的区别

同步的话,必须这个操作完了才会执行下一步,在等待期间浏览器会挂起不能执行任何接下来的js代码;异步则是【告诉】浏览器去做,【告诉】是一瞬间的事情,然后就继续执行下一步了,等到结果返回来了,浏览器会通知js执行相应的回调。

哪些JavaScript 框架的源代码最值得阅读和学习

推荐顺序:

underscore.js:一个JavaScript实用库,提供了一整套工具方法,github上有带注释的源码,一千多行。学习一下封装那些常用api的最佳实践。

zepto.js:jquery的移动版?源码也不多

backbone.js: 两千多行的MVC框架,在阅读angular源码之前先阅读一个经典而轻量的backbone吧

这三个是开始阅读源码比较推荐的,除此之外可以看一些UI框架,一些经典轮子之类的,比如阅读fastclick这种,学习一波手势与事件

js中promise到底怎么用

我举个生活中的例子吧,比如说你去麦当劳买吃的,你下订单后,会给你一个小纸条,这个小纸条相当于你和麦当劳之间的约定,这个小纸条也可以理解为你所定的餐的一个占位符。等麦当劳饭做好了的时候,会吧饭送到你面前,并且把小纸条收走。

这个如果在代码中的话,就意味着,你在执行代码的时候,可能会在未来某个时刻才会取到值(异步),等在值取到以后,会进行一些相应的处理,比如说ajax,这实际上就是promise的一个典型的应用场景。

我刚刚只是说了promise的一个大的应用场景,我觉得只要能把握住这个,具体的API就可以了。

假如你想对它的使用有一个更深入的了解的话,我还可以推荐你一个小文章: Javascript基础之-Promise

加油

什么是 nodejs promise

promise是一个异步编程的抽象,它是一个返回值或抛出exception的代理对象,一般promise对象都有一个then方法,这个then方法是我们如何获得返回值(成功实现承诺的结果值,称为fulfillment)或抛出exception(拒绝承诺的理由,称为rejection),then是用两个可选的回调作为参数,我们可以称为onFulfilled和OnRejected:

var promise = doSomethingAync()

promise.then(onFulfilled, onRejected)

 当这个promise被解决了,也就是异步过程完成后,onFulfilled和OnRejected中任何一个将被调用,

 因此,一个promise有下面三个不同状态:

pending待承诺 - promise初始状态

fulfilled实现承诺 - 一个承诺成功实现状态

rejected拒绝承诺 - 一个承诺失败的状态

js中promise哪里有问题?

原因在于setTimeout是只执行一次的,所以要想再次执行,必须重新生成一个实例。下面是我修改后的代码,测试通过:

var waitSecond=function(){

return new Promise(function(resolve,reject){

setTimeout(resolve,1000);

});

}

waitSecond().then(function(){

console.log("hello");

return new waitSecond;

}).then(function(){

console.log("Hi");

});

发表评论

评论列表

  • 夙世择沓(2022-06-12 21:13:34)回复取消回复

    解为你所定的餐的一个占位符。等麦当劳饭做好了的时候,会吧饭送到你面前,并且把小纸条收走。这个如果在代码中的话,就意味着,你在执行代码的时候,可能会在未来某个时刻才会取到值(异步),等在值取到以后,会进行一些相应的处理,比如说ajax,这

  • 嘻友痛言(2022-06-12 13:10:09)回复取消回复

    k这种,学习一波手势与事件js中promise到底怎么用我举个生活中的例子吧,比如说你去麦当劳买吃的,你下订单后,会给你一个小纸条,这个小纸条相当于你和麦当劳之间的约定,这个小纸条也可以理解为你所定的餐的一个占位符。等麦当劳饭做好了的时候,会吧饭送

  • 依疚迟山(2022-06-12 10:25:01)回复取消回复

    我举个生活中的例子吧,比如说你去麦当劳买吃的,你下订单后,会给你一个小纸条,这个小纸条相当于你和麦当劳之间的约定,这个小纸条也可以理解为你所定的餐的一个占位符。等麦当劳饭做好了的时候,会吧饭送到你面前,并且把小纸条收走。这个如果在代码中的话,就意味着,你在执行代

  • 中分女神1(2022-06-12 14:31:21)回复取消回复

    定的餐的一个占位符。等麦当劳饭做好了的时候,会吧饭送到你面前,并且把小纸条收走。这个如果在代码中的话,就意味着,你在执行代码的时候,可能会在未来某个时刻才会取到值(异步),等在值取到以后,会进行一些

  • 世味稚然(2022-06-12 21:55:37)回复取消回复

    除此之外可以看一些UI框架,一些经典轮子之类的,比如阅读fastclick这种,学习一波手势与事件js中promise到底怎么用我举个生活中的例子吧,比如说你去麦当劳买吃的,你下订单后