草庐IT

async-await

全部标签

javascript - 我可以在异步函数中抛出错误吗?

这个问题在这里已经有了答案:Howtorejectinasync/awaitsyntax?(7个答案)关闭5年前。我在我的Node.js项目中使用async/await。在某些地方,我需要从async函数返回一个错误。如果我使用Promises,我可以这样完成它:functionpromiseFunc(){returnnewPromise((res,rej)=>{returnrej(newError('someerror'))})}但我使用的是async函数,所以没有res和rej方法。所以,问题是:我可以在async函数中throw错误吗?或者它被认为是一种好的/坏的做法?我想做的一

javascript - 在 JavaScript 的异步函数中捕获所有 Promise 拒绝

当多个promise在异步函数(javaScript-节点v8.4.0)中等待后抛出拒绝错误时,我遇到了捕获所有错误的问题。引用以下javaScript:作为引用,函数timeoutOne()和timeoutTwo()仅返回一个本地promise,分别在1秒和2秒超时后解析一个值,或者如果我将“deviousState”设置为true则以错误拒绝。letdeviousState=true;asyncfunctionasyncParallel(){try{letres1=timeoutOne();letres2=timeoutTwo();console.log(`Alldonewith$

javascript - 如何在 Protractor 中先执行一个元素然后再执行另一个元素

以下代码随机运行,有时运行良好,有时会抛出这样的错误StaleElementReferenceException我想要的是首先执行下面的这个element(by.id('FiltItemTransDocNo')).sendKeys(grno);在上面之后我希望它在下面执行element.all(by.name('chkGrd')).first().click();我试过这种方法,但似乎没有用element(by.id('FiltItemTransDocNo')).sendKeys(grno).then(function(el){element.all(by.name('chkGrd')

javascript - await 是否保证在 JavaScript 中没有赋值的执行顺序?

主题。我可以说下面的两段代码是相同的吗:awaitsomeFunc()//noassignmentheredoSomethingAfterSomeFunc()和:someFunc().then(()=>doSomethingAfterSomeFunc())我试过了,看起来它们是相等的,但有疑问(例如一些优化) 最佳答案 展开DanD'sanswer(因为我花了一些时间弄清楚自己),我会再说一些关于执行流程的事情。实际上,使用await会阻塞调用它的方法的流程,直到它解析为止。假设我们有这个异步函数:constsomeFunc=(st

javascript - 使用 async 和 await with export const

我无法完成这项工作...它说:await是一个保留字。是的,当然是……而且我想使用它:)怎么了?exportconstloginWithToken=async()=>{returndispatch=>{dispatch({type:SESSION_LOGIN_IN_PROGRESS,payload:true})letstoredData=awaitReadFromLocalDB('user')console.log(storedData)if(!storedData){invalidToken(null,dispatch)}else{storedData=JSON.parse(stor

javascript - 如何在异步/等待语法中使用 Promise.prototype.finally()?

实际上我的主要问题是在async/awaitES8语法中使用Promise.prototype.catch(),毫无疑问是Promise。prototype.then()存在于async/await语法的本质中。我搜索了关于在async/await中使用Promise.prototype.catch()并找到了这个:async()=>{try{constresult1=awaitfirstAsynchronousFunction();constresult2=awaitsecondAsynchronousFunction(result1);console.log(result2);}c

javascript - NodeJS, Async forEachSeries 执行顺序

只是想尝试使用NodeJS的异步模块。我有以下代码。vara1=[1,2,3,4,5,6,7,8];async.forEachSeries(a1,function(n1,callback){console.log(n1);vara2=[10,11,12,13,14];async.forEachSeries(a2,function(n2,callback){console.log(n1+""+n2);callback();});callback();});我想把上面代码的处理过程打印成这样111011111211311422102112122132143310311312313314..

javascript - 我可以触发并忘记 nodejs (ES7) 中的 promise 吗?

我想用babel运行这段代码:redisClientAsync.delAsync('key');returnawaitsomeOtherAsyncFunction();在第一行没有await的异步函数中。这样可以吗?我还能如何运行我不关心的东西?我可以在没有回调的情况下触发非promise函数del('key',null)吗? 最佳答案 是的,你可以这样做,它会并行运行两个异步函数。您刚刚创建了一个promise并将其丢弃。但是,这意味着当promise被拒绝时,您不会注意到。你只会getanunhandledRejectionev

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 - 如何在 Javascript 中使用异步等待函数对象?

假设我有一个函数对象-setObj:function(a,b){obj.a=a;obj.b=b;}如果我必须在此函数对象上使用异步和等待,我该怎么做?如果同样写在函数中(函数方式),说-asyncfunctionsetObj(a,b){obj.a=a;obj.b=b;}awaitsetObj(2,3);这很好用。但是,如果是函数对象,我该怎么做呢? 最佳答案 如果我没看错你的问题,你可以在方法声明前使用async关键字:letobj={};letmyObj={asyncsetObj(a,b){obj.a=a;obj.b=b;}}参见