同步
因为经常用到模块,并且一般都在模块顶端引入,所以把require做成同步,有助于代码整洁有序,增强可读性。
但是,I/O密集的地方尽量不要用require。所有的同步,都会阻塞Node,直到调用完才能做其他事。
比如,在运行一个http服务,如果在每个请求上都用到require,就会遇到性能问题。
所以,require和其他同步操作通常放在程序最初加载的位置。
我目前正在阅读Trevor Burnham的Async Javascript。到目前为止这是一本很棒的书。 他谈到这个片段和console.log在Safari和Chrome控制台中是“异步”的。不幸的是我无法复制这个。代码如下: 如果这是异步的,我会预期结果是books的结果。将console.log()放在事件队列中,直到所有代码执行完毕,然后运行它,它将具有bar属性。 虽然它是同步运行的,
问题内容: 我在创建的Web API中执行以下操作: 通过以下方式通过Jquery Ajax调用完成对此Web服务的调用: 我已经看到一些开发人员以这种方式实现了先前的操作: 不过,得说GetProductsWithHistory()是一个相当长的操作。考虑到我的问题和上下文,使webAPI操作异步将给我带来什么好处? 问题答案: 在您的特定示例中,该操作根本不是异步的,因此您正在执行的操作是异步
我见过一些开发人员以这种方式实现前面的操作: 不过,不得不说,GetProductsWithHistory()是一个相当长的操作。考虑到我的问题和上下文,使webAPI操作异步对我有什么好处?
问题内容: 我意识到这是一个基本问题,但是我在其他地方找不到答案。 是同步还是异步? 万一它是异步的,是否有可能在传播了动作之后添加一个回调,这是可能的? 问题答案: AFAIK,调度动作是同步的。如果您愿意解决异步调用,则可以在redux中使用thunk- middleware ,其中将dispatch作为回调函数提供,您可以根据需要调用它。
问题内容: 我对诺言有很多困惑。是同步还是异步? 问题答案: 传递函数 为 无极构造同步运行,但任何依赖于它的分辨率将异步调用。即使promise立即解决,任何处理程序都将异步执行(类似于when )-主线程首先运行到末尾。 不管您的Javascript环境如何,都是如此-无论您是在Node还是浏览器中。
null