草庐IT

Promises

全部标签

javascript - Node.js assert.throws 带有异步函数(Promises)

我想使用assert.throws检查异步函数是否抛出来自原生assert模块。我试过了consttest=async()=>awaitaPromise();assert.throws(test);//AssertionError:Missingexpectedexception..它(显然?)不起作用,因为函数在Promise解决之前退出。然而我发现thisquestion使用回调实现同样的事情。有什么建议吗?(我正在使用Babel转换为Node.js原生生成器。) 最佳答案 Node10和更新的Node从Node.jsv10.0

javascript - Node.js assert.throws 带有异步函数(Promises)

我想使用assert.throws检查异步函数是否抛出来自原生assert模块。我试过了consttest=async()=>awaitaPromise();assert.throws(test);//AssertionError:Missingexpectedexception..它(显然?)不起作用,因为函数在Promise解决之前退出。然而我发现thisquestion使用回调实现同样的事情。有什么建议吗?(我正在使用Babel转换为Node.js原生生成器。) 最佳答案 Node10和更新的Node从Node.jsv10.0

node.js - 如何等待流完成管道? ( Node )

我有一个for循环的promise数组,所以我使用Promise.all来遍历它们,然后调用它们。letpromises=[];promises.push(promise1);promises.push(promise2);promises.push(promise3);Promise.all(promises).then((responses)=>{for(leti=0;i{//extractthetextoutofthepdfextract(filePath,{splitPages:false},(err,text)=>{if(err){console.log(err);}else

node.js - 如何等待流完成管道? ( Node )

我有一个for循环的promise数组,所以我使用Promise.all来遍历它们,然后调用它们。letpromises=[];promises.push(promise1);promises.push(promise2);promises.push(promise3);Promise.all(promises).then((responses)=>{for(leti=0;i{//extractthetextoutofthepdfextract(filePath,{splitPages:false},(err,text)=>{if(err){console.log(err);}else

javascript - 在 Q Promises 中跳过 then 函数的正确方法

在我的代码中,根据特定条件,我想跳到done函数,而不考虑所有then函数。这个问题的原始版本在编辑中。以下是我正在处理的实际问题。很抱歉给您带来不便实际问题:我正在读取一个文件并处理它。如果文件的内容符合某些条件,我必须对文件系统进行一系列操作(比如读写几个文件),然后执行done函数。如果条件不成立,我要跳过这一系列操作,直接执行done函数。我在所有then函数中返回一个对象(比如说result),在下一个then中我更新result并返回它。所以,当所有的then都完成后,done就会有累积的result。最后,done将处理result并打印出来。因此,如果最初不满足条件,d

javascript - 在 Q Promises 中跳过 then 函数的正确方法

在我的代码中,根据特定条件,我想跳到done函数,而不考虑所有then函数。这个问题的原始版本在编辑中。以下是我正在处理的实际问题。很抱歉给您带来不便实际问题:我正在读取一个文件并处理它。如果文件的内容符合某些条件,我必须对文件系统进行一系列操作(比如读写几个文件),然后执行done函数。如果条件不成立,我要跳过这一系列操作,直接执行done函数。我在所有then函数中返回一个对象(比如说result),在下一个then中我更新result并返回它。所以,当所有的then都完成后,done就会有累积的result。最后,done将处理result并打印出来。因此,如果最初不满足条件,d

JavaScript 异步编程 : promises vs generators

Promises和生成器允许您编写异步代码。我不明白为什么在ECMA脚本6中引入了这两种机制。什么时候最好使用Promise,什么时候最好使用生成器? 最佳答案 这两种技术之间没有对立:它们共存在一起,相得益彰。Promises允许您获取异步操作的结果,该操作目前尚不可用。它解决了PyramidofDoom问题。所以而不是:functionourImportantFunction(callback){//...somecode1task1(function(val1){//...somecode2task2(val1,functio

JavaScript 异步编程 : promises vs generators

Promises和生成器允许您编写异步代码。我不明白为什么在ECMA脚本6中引入了这两种机制。什么时候最好使用Promise,什么时候最好使用生成器? 最佳答案 这两种技术之间没有对立:它们共存在一起,相得益彰。Promises允许您获取异步操作的结果,该操作目前尚不可用。它解决了PyramidofDoom问题。所以而不是:functionourImportantFunction(callback){//...somecode1task1(function(val1){//...somecode2task2(val1,functio

javascript - 如何使用 Promises 链接和共享先前的结果

这个问题在这里已经有了答案:HowdoIaccesspreviouspromiseresultsina.then()chain?(17个回答)关闭6年前。我正在使用bluebird库,需要发出一系列HTTP请求,并且需要一些响应数据到下一个HTTP请求。我已经构建了一个函数来处理我的请求,称为callhttp()。这需要一个url和一个POST的正文。我这样调用它:varpayload='{"Username":"joe","Password":"password"}';varjoin=Promise.join;join(callhttp("172.16.28.200",payload

javascript - 如何使用 Promises 链接和共享先前的结果

这个问题在这里已经有了答案:HowdoIaccesspreviouspromiseresultsina.then()chain?(17个回答)关闭6年前。我正在使用bluebird库,需要发出一系列HTTP请求,并且需要一些响应数据到下一个HTTP请求。我已经构建了一个函数来处理我的请求,称为callhttp()。这需要一个url和一个POST的正文。我这样调用它:varpayload='{"Username":"joe","Password":"password"}';varjoin=Promise.join;join(callhttp("172.16.28.200",payload