草庐IT

request-promise

全部标签

javascript - 使用 Bluebird 在 Promises 中包装 Node.js 回调

如何在Bluebird中使用Promise包装Node.js回调?这是我想出的,但想知道是否有更好的方法:returnnewPromise(function(onFulfilled,onRejected){nodeCall(function(err,res){if(err){onRejected(err);}onFulfilled(res);});});如果只需要返回一个错误,是否有更简洁的方法来执行此操作?编辑我尝试使用Promise.promisifyAll(),但结果没有传播到then子句。我的具体例子如下图。我正在使用两个库:a)sequelize,它返回promise,b)s

javascript - 如何在任意数量的链元素上使用 map 或 reduce 运行 promise-then 链?

我坚持以下几点:脚本返回任意数字n或数组,如下所示:[["a"],["b"],["c"],["d"]]我需要使用promisethen()遍历数组,但由于我不知道会有多少元素,所以我最终这样做了:varbundle_list=[["a"],["b"],["c"],["d"]];varx=bundle_list.reduce(function(current,next){console.log(current);//requestBundlewillalsoreturnapromisereturnrequestBundle(current).then(function(bundle_re

javascript - 我如何使用 bluebirdjs 顺序链接 promise ?

Promise.all()不保证promise会按顺序解决。如何做到这一点? 最佳答案 由于您使用的是BluebirdJS,这实际上可以通过一种简单的方式完成。在2.0版中,Bluebird引入了执行此操作的Promise.each方法,因为循环then非常简单,但由于它是如此常见并且一次又一次地被请求,最终它被添加为自己的方法。functionfoo(item,ms){//notebluebirdhasadelaymethodreturnPromise.delay(ms,item).then(console.log.bind(co

javascript - 从 Promise 返回一个值

我想像这样使用Promise调用GoogleMapsGeocodingAPI:functionmakeGeoCodingRequest(address,bounds){/*Inputparameters:address:astringbounds:anobjectofclassgoogle.maps.LatLngBounds(southWest,northEast)Thiswillreturnasetoflocationsfromthegooglegeocodinglibraryforthegivenquery*/varurl="https://maps.googleapis.com/

javascript - 诺兰的 promise /A+ JavaScript 谜题

我已阅读WehaveaproblemwithpromisesNolanLawson读过几次,但对JavaScript中的promises仍有一些疑问。在Nolan的帖子末尾,您可以找到四个谜题的答案(我在此处附上了屏幕截图)。所以,我有几个问题:为什么第一个谜题中的doSomethingElse()函数有undefined值?在我看来,它必须有resultOfDoSomething,就像第4个谜题中那样。第三个和第四个谜题有什么区别?在第一个then的第三个谜题中,我们写了doSomethingElse(),在第四个谜题中,我们只在这里写了函数的名称,doSomethingElse。这

javascript - 带有 Promise.all 的对象字面量(哈希)

我遇到这样一种情况,使用Promise.all会非常方便Promise.all({})而不是更标准的Promise.all([]).但这似乎行不通Promise.all({a:1,b:2}).then(function(val){console.log('val:',val);});当然可以Promise.all([1,2,3]).then(function(val){console.log('val:',val);});(我期望Promise.all映射对象文字的值,但保留键不变。)但是theMDNdocsforPromise似乎表明Promiseall将适用于任何可迭代对象。据我所

javascript - Promise.all 在带有参数的 promise 数组上

在将参数传递给每个promise时,如何向Promise.all添加一个promise数组?例如;varconfig={name:[function(val){returnnewPromise(function(resolve,reject){resolve('Thisisok')})},function(val){returnnewPromise(function(resolve,reject){resolve('Thisisok')})}],gender:[function(val){returnnewPromise(function(resolve,reject){resolve

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 - Firefox 扩展 : Cancel requests and emit fake responses

我正在尝试开发一个Firefox扩展,它将每个HTTP请求丢弃到某个站点并返回一个虚假的响应。任何请求都不应到达原始Web服务器,但我希望能够创建自定义响应。我试图拦截“http-on-modify-request”消息,但取消请求似乎不起作用,因为之后我无法模拟真实的响应。同样,使用nsITraceableStream实例,我似乎无法真正取消请求。我没有想法,有人可以帮忙吗? 最佳答案 自Firefox21起,以下答案已被取代,现在是nsIHttpChannel.redirectTo()method做得很好。你可以重定向到一个数据

javascript - 如何自定义 "not enough columns given to draw the requested chart"消息?

有什么方法可以自定义Google图表以防止它们显示此“红色”消息吗?例如,默默地什么都不画? 最佳答案 Google图表/可视化提供了大量事件、方法和工具,用于自定义错误处理、错误消息等。例如,参见https://developers.google.com/chart/interactive/docs/reference#errordisplay或https://developers.google.com/chart/interactive/docs/examples#querywrapper根据您的要求,最简单的方法是简单地附加一