jjzjj

asynchronous

全部标签

javascript - 什么函数被放入 Node Js 和 JS 的事件循环中

我一直在阅读一些NodeJs文章以了解其异步性质,在此期间我发现了它并且非常喜欢它Node.js,Doctor’sOfficesandFastFoodRestaurants–UnderstandingEvent-drivenProgrammingEventLoop是一种基于FIFO的队列。他们说当异步函数被命中时,它会被放入EventLoop并将继续在那里执行。我在这里有点困惑。例如据说here:Inactuality,asyncfunctionslikesetTimeoutandsetIntervalarepushedontoanqueueknownastheEventLoop.在同

javascript - 多次异步服务调用后的 AngularJS 函数

我有一个RESTAPI,我想像这样从AngularJS服务调用它:angular.module('myModule').service('MyApi',['$http',function($http){return({resources:resources,details:details});functionresources(){return$http.jsonp('/api/resources');}functiondetails(key){return$http.jsonp('/api/details/'+id);}}]);那里删除了其他实现细节,例如不重要的身份验证。API由第

javascript - 为什么仅调用同步函数时 javascript promises 是异步的?

在测试中,我发现JavaScriptPromises总是是异步的,无论它们的链中是否包含任何异步函数。这里是一些代码,显示了控制台中的操作顺序。如果你运行它,你会看到即使每个函数都是同步的,输出显示两个aPromise()调用是并行运行的,并且“令人惊讶的是,这是在运行2完成后发生的”不在运行2完成之前发生。functionaPromise(){returnnewPromise(function(resolve,reject){console.log("makingpromiseA")resolve(bPromise());console.log("promiseAresolved")

javascript - 为什么流行的 JavaScript 运行时不能处理看起来同步的异步脚本?

作为cowboysaysdowninthecommentshere,我们都想“以类似这样的风格编写[非阻塞JavaScript]异步代码:try{varfoo=getSomething();//asynccallthatwouldnormallyblockvarbar=doSomething(foo);console.log(bar);}catch(error){console.error(error);}”所以人们想出了解决这个问题的办法,比如回调库(例如async)promiseseventpatternsstreamlinedomains和generators.但是这些都不会导致

javascript - 有什么方法可以控制 Javascript 异步加载顺序?

如何设置两个外部asyncJavascript文件的加载和执行顺序?鉴于以下...//Largerfile//Smallfile尽管由于文件大小的原因,顺序第二的scripts.js在framework.js之前下载和执行,但是scripts.js是依赖于framework.js。有没有一种方法可以本地指定加载和执行顺序,同时仍然保持async属性? 最佳答案 如果您想保留执行顺序,您需要使用defer。defer的作用是异步下载脚本,但将执行推迟到html解析完成。但是,一旦脚本数量增加,您可能希望开始创建自定义包。你可以看出区别

javascript - Promise.all 返回一个未定义的数组

我在返回未定义数组的函数时遇到问题。代码如下:classMethods.getQueries=function(models,dbId,dateStart,dateEnd){returnnewPromise(function(resolve,reject){/*Fetchdatabase....*/.then(extractQueries,reject).then(sortQueries,reject).then(onlyTen,reject).then(addText,reject).then(function(queries){console.log('getQueriesfini

javascript - 如何在 node.js 中异步递归 API 回调?

API调用返回结果的下“页面”。如何优雅地递归该结果回调?这是我需要执行此操作的示例:varurl='https://graph.facebook.com/me/?fields=posts&since='+moment(postFromDate).format('YYYY-MM-DD')+'&access_token='+User.accessToken;request.get({url:url,json:true},function(error,response,body){if(!error&&response.statusCode==200){_.each(body.posts.

javascript - Async/Await with Request-Promise 返回 Undefined

我有两个文件;server.js和scrape.js,下面是它们当前的代码片段。服务器.js:constscrape=require("./scrape");asyncfunctionstart(){constresponse=awaitscrape.start();console.log(response);}start();和scrape.js:constcheerio=require("cheerio");constrequest=require("request-promise");go=async()=>{constoptions={uri:"http://www.somew

javascript - AngularJS:避免在收到响应之前两次调用相同的 REST 服务

我有两个指令,每个都使用同一个工厂包装$q/$http调用。angular.module("demo").directive("itemA",["restService",function(restService){return{restrict:"A",link:function(scope,element,attrs){restService.get().then(function(response){//whatever},function(response){//whatever});}};}]);angular.module("demo").directive("itemB"

javascript - 通过在客户端上调用多个 Meteor 方法避免回调 hell

我有多个Meteor.calls,其中每个方法都取决于另一个Meteor方法的响应。客户端Meteor.call('methodOne',function(err,resOne){if(!err){Meteor.call('methodTwo',resOne,function(err,resTwo){if(!err){Meteor.call('methodThree',resTwo,function(err,resThree){if(err){console.log(err);}})}});}});我从Meteor的文档中了解到“在客户端调用的方法是异步运行的,所以你需要传递一个回调来