草庐IT

co_await

全部标签

javascript - 在不使用 async/await 的情况下按顺序执行 promise 数组

假设我有一系列promise。我的数组中的每个元素都是一个knex.js查询生成器,并准备好执行并返回一个promise。如何按顺序运行此数组的每个元素。该数组是动态构建的。letpromisesArray=[q1,q2,q3];每个q本身不是一个promise,但它会在执行时返回一个promise。 最佳答案 这里可能是一个可能的选择:letp=Promise.resolve([]);promisesArray.forEach(q=>{p=p.then(responses=>{//basedonthenatureofeachq,t

javascript - 在 Observable 上使用 await 时,我应该使用什么来代替 toPromise()?

Thispage说“toPromise已被弃用!(RxJS5.5+)”但我最近一直在使用AngularFire2(当我只想要一个结果时),如下所示:constfoo=awaitthis.afs.doc(`docPath`).valueChanges().toPromise();我不应该这样做吗?如果不是,await替代方案是什么?更新:在下面的答案之后我改变了这个:constfoo=awaitthis.afs.doc(`docPath`).valueChanges().toPromise();...为此:constfoo=await(newPromise(resolve=>this.a

javascript - 将 async/await 与 babel 一起使用 - 要求 ("babel-polyfill") 行不在构建文件的顶部

我正在尝试将ES2017async/await语法与Babel结合使用。在package.json中,我有"babel":{"plugins":["babel-plugin-transform-async-to-generator"],"presets":["es2015"]}//..."devDependencies":{"babel-cli":"^6.14.0","babel-plugin-transform-async-to-generator":"^6.8.0","babel-polyfill":"^6.13.0","babel-preset-es2015":"^6.14.0"

javascript - 如何在 Node JS FS 模块中使用 Typescript Async/await with promise

如何在nodejsFS模块中使用Typescriptasync/await函数并返回typescript默认promise,并在promise解决后调用其他函数。代码如下:if(value){tempValue=value;fs.writeFile(FILE_TOKEN,value,WriteTokenFileResult);}functionWriteTokenFileResult(err:any,data:any){if(err){console.log(err);returnfalse;}TOKEN=tempValue;ReadGist();//otherFSreadFileca

javascript - 使用 async/await 提交/回滚 knex 事务

我正在试驾ES7async/awaitproposal使用thismodule模仿它。我正在尝试制作knex.js作为起点,交易与它们配合得很好。示例代码:asyncfunctiontransaction(){returnnewPromise(function(resolve,reject){knex.transaction(function(err,result){if(err){reject(err);}else{resolve(result);}});});}//Starttransactionfromthiscallinsert:async(function(db,data){

javascript - 为什么 await 只适用于 javascript 中的异步函数?

只是通过这个tutorial,令我困惑的是为什么await只适用于async函数。来自教程:Assaid,awaitonlyworksinsideasyncfunction.根据我的理解,async将函数返回对象包装成一个Promise,所以调用者可以使用.then()asyncfunctionf(){return1;}f().then(alert);//1await只是等待promise在async函数中解决。asyncfunctionf(){letpromise=newPromise((resolve,reject)=>{setTimeout(()=>resolve("done!"

javascript - 服务人员 : async await in combination with waituntil is not working properly

在使用async/await语法时,我正在为serviceworker中的promises而苦苦挣扎。以下情况:我收到推送通知,想处理点击事件。如果我将“旧”语法与then和catch一起使用,我可以遍历客户端列表并对其执行一些操作。如果我对async/await使用我喜欢的方式,它不会做任何事情。self.addEventListener("notificationclick",event=>{//isworkingevent.waitUntil(self.clients.matchAll().then(clientList=>{console.log(clientList);}))

javascript - 将 async/await 与 babel 一起使用时 regeneratorRuntime is not defined 错误

我正在使用异步/等待代码,并且收到“regeneratorRuntime未定义错误”。我已经尝试了堆栈溢出的几种解决方案,但我无法使它们中的任何一种起作用。这是我的配置:webpack.config.js:module.exports={entry:['babel-polyfill','./client/libs/compileTemplate/entry.jsx','./client/libs/compileTemplate/loginEntry.jsx'],output:{path:'/dist',publicPath:'/assets',filename:'[name].js'}

javascript - ES7 async/await 概念问题

我正在迁移现有程序以使用async/await(通过Babel的bluebirdCoroutines)为了学习这种风格。我一直在看这个tutorial.我对以下行为有点困扰。此代码段按预期工作:letparts=[];leturlsP=urls.map((url,index)=>{returndlPart(url,index,tempDir);});for(leturlPofurlsP){//Parallel(yay!)parts.push(awaiturlP);}for(letpartofparts){//SequentialawaitappendFile(leFile,part);

javascript - 使用 async/await 从回调中获取数据并仅在解决 promise 后返回值

我正在尝试使用async/await,但我认为我严重误解了一些东西。基本上,我正在尝试使用googlemapsapi计算位置列表与一个指定位置之间的距离。这是我正在尝试做的粗略示例:https://jsfiddle.net/qu5y69rj/1/您可以看到该函数的结果是undefined3次,而不是我所期望的,每次调用都是{distance:"ZERO_RESULTS"}以我人为的例子为例。getDistance=async(start,end)=>{constorigin=newgoogle.maps.LatLng(start[0],start[1]);constfinal=newg