草庐IT

mongodb-driver-async

全部标签

javascript - 几乎所有地方都可以使用 async/await 吗?

我目前正在编写供个人使用的小型NodeJSCLI工具,我决定尝试使用Babel的ES7async/await功能。它是一个网络工具,所以我显然有异步网络请求。我为request包写了一个简单的包装器:exportdefaultfunction(options){returnnewPromise(function(resolve,reject){request({...options,followAllRedirects:true,headers:{"user-agent":"Mozilla/5.0(WindowsNT10.0;WOW64;rv:47.0)Gecko/20100101Fi

Javascript Async=true 属性

我在某个未具名vendor的文档中看到此代码示例。它似乎异步加载脚本,然后从中调用函数。我意识到if-undefined检查可以防止明显的错误,但这不是完全不正确吗?我相信在IE8/9中它会正常工作,但会阻塞执行,直到加载并执行LOADER_URL脚本;而且我相信许多其他支持异步属性的浏览器,这只会导致内联block仅在部分时间执行ifblock内的代码。文档指出“标签是异步的,不会减慢页面的加载速度。”if(typeof(OBJECT_DEFINED_IN_LOADER_URL)!="undefined"){OBJECT_DEFINED_IN_LOADER_URL.Load(fals

javascript - 如何使用 async/await 将此回调转换为 promise?

以下函数从url获取图像,加载它,并返回它的宽度和高度:functiongetImageData(url){constimg=newImage()img.addEventListener('load',function(){return{width:this.naturalWidth,height:this.naturalHeight}})img.src=url}问题是,如果我这样做:ready(){console.log(getImageData(this.url))}我得到undefined因为函数运行但图像尚未加载。如何使用await/async只在图片加载完成且宽高已经可用时才

javascript - async/await 会阻塞事件循环吗?

这个问题在这里已经有了答案:Willasync/awaitblockathreadnode.js(6个答案)InJavaScript,doesusingawaitinsidealoopblocktheloop?(8个答案)关闭4年前。我正在阅读Don'tBlocktheEventLoop来自Node.js指南。有一句话说:YoushouldmakesureyouneverblocktheEventLoop.Inotherwords,eachofyourJavaScriptcallbacksshouldcompletequickly.Thisofcoursealsoappliestoyo

javascript - Request-Promise 使用 async/await 抛出 "no auth mechanism defined"

我刚刚尝试使用request-promise进行async/await并遇到了这个错误:RequestError:Error:noauthmechanismdefinedatnewRequestError(node_modules/request-promise-core/lib/errors.js:14:15)atRequest.plumbing.callback(node_modules/request-promise-core/lib/plumbing.js:87:29)atRequest.RP$callback[as_callback](node_modules/request

javascript - Apollo "Subscription field must return Async Iterable. Received: undefined"

我有一个触发channel事件“countIncr”的突变,但我没有看到事件的相应订阅与事件负载一起触发。更新:我已经对这篇文章进行了多次更新,现在我正在更改标题以更能代表我所在的位置。我收到graphqlPlayground错误"SubscriptionfieldmustreturnAsyncIterable.Received:undefined"我遇到问题的TGRstack复制:https://github.com/TGRstack/tgr-apollo-subscription-example-microservice/没有TGRstack的工作再现:https://github

javascript - 使用 Jasmine async 测试 postMessage 不起作用

我正在尝试使用Jasmine2.0为AngularJS应用程序中的某些逻辑编写单元测试,但该逻辑位于事件监听器中。来自Controller:window.addEventListener('message',function(e){if(e.data==="sendMessage()"){$scope.submit();}},false);来自测试文件:describe("postmessage",function(){beforeEach(function(done){varcontroller=createController(controllerParams);spyOn($sc

javascript - Bluebird PromisifyAll 没有任何 Async 后缀,即可以替换原始功能吗?

Bluebird有一个promisifyAll函数“通过遍历对象的属性并在对象及其原型(prototype)链上创建每个函数的异步等价物来Promisify整个对象。”它创建带有后缀Async的函数。是否可以完全替换旧功能?被替换的函数就像原始函数一样工作,此外它们还返回一个Promise,所以我认为完全替换旧函数应该是安全的。varobject={};object.fn=function(arg,cb){cb(null,1)};Bluebird.promisifyAll(object);object.fn//donotwantobject.fnAsync//=>shouldrepla

javascript - 如何使用 async/await 去抖动?

我有一个输入框。在用户停止输入后,我想执行一个HTTP请求并等待结果。Here'sajsbin由于jsbin不允许网络请求,因此我使用setTimeout()代替。varlog=console.log.bind(console)vardelayedResults=newPromise(function(resolve){setTimeout(function(){resolve('WoooIamtheresult!')},3000);});document.querySelector('input').addEventListener('input',_.debounce(asyncf

javascript - 在 Nodejs 中,如何停止 FOR 循环直到 MongoDB 调用返回

我正在处理下面的代码片段。我有一个名为“stuObjList”的JSON对象数组。我想遍历数组以查找具有特定标志集的特定JSON对象,然后进行数据库调用以检索更多数据。当然,FOR循环不会等待数据库调用返回并到达withj==length的结尾。当数据库调用返回时,索引“j”超出了数组索引。我了解node.js的工作原理,这是预期的行为。这里的解决方法是什么?我怎样才能实现我想要实现的目标?.............................................else{console.log("stuObjList.length:"+stuObjList.lengt