草庐IT

request-promise

全部标签

javascript - 是否可以为每个 promise 使用带有 then() 的 axios.all?

我有一个React组件,它触发一个事件来获取数据。这导致动态数量的存储过程调用来获取数据,并且来自每个调用的数据存储在完全不同的位置。然后我需要在接收到所有数据并可用后重新渲染。我在axios中使用promises。由于axios调用的数量是动态的,我正在构建一个数组并将其插入到axios.all中如下:letpromises=[];for(leti=0;i问题是每个axios请求返回的数据都被添加到完全不同位置的对象中。因为我无法将它们全部放在一个正确的位置then(我怎么知道哪个响应在哪个位置?),我尝试做这样的事情:letpromises=[];for(leti=0;i{myOb

JavaScript Promise then() 排序

我还在学习JavaScriptPromise,我遇到了一个我不明白的行为。varo=$("#output");varw=function(s){o.append(s+"");}varp=Promise.resolve().then(function(){w(0);}).then(function(){w(1);});p.then(function(){w(2);returnnewPromise(function(r){w(3);r();}).then(function(){w(4);});}).then(function(){w(5);});p.then(function(){w(6)

javascript - 同步 promise 解析(bluebird vs. jQuery)

我为DynamicsCRMREST/ODATAwebservice开发了一个小库(CrmRestKit)。该库依赖于jQuery并使用promise-pattern,分别是jQuery的promise-like-pattern。现在我想将这个库移植到bluebird并删除jQuery依赖项。但是我遇到了一个问题,因为bluebird不支持promise-objects的同步解析。一些上下文信息:CrmRestKit的API除了一个可选参数外,该参数定义了网络服务调用应该以同步还是异步模式执行:CrmRestKit.Create('Account',{Name:"foobar"},fal

javascript - await 的异步映射函数返回 Promise 而不是值

我有这个代码asyncfunctionaddFiles(dir,tree){return(awaitreadDir(dir)).map(async(name)=>{awaitreadDir(dir);returnname;})}但不幸的是,它只返回一堆promise,因为map中的异步函数没有被等待。我想知道是否有任何方法可以等待上面代码中的映射函数。 最佳答案 尝试asyncfunctionaddFiles(dir,tree){constfiles=awaitreadDir(dir)awaitPromise.all(files.m

javascript - 在 Rails 应用程序中提前输入 : Append JSON request to only one specific request instead of appending JSON request to every request via prefetch

提前输入功能可以正常工作。但问题是,提前输入功能会在每个数据请求上发出JSON请求,而实际上只应针对一个特定请求发生。我有以下Controller:#controllers/agencies_controller.rbclassAgenciesController我的javascript文件中有以下内容:#app/assets/javascripts.agencies/index.js$(document).ready(function(){/*Fortypeaheadfunctionalityonnameinputofsearchformforagencies*/varagency_

javascript - 异步函数与返回 New Promise

更新我已经阅读了十几篇关于这个主题的文章,但没有一篇涉及这个基本问题。我将在本文末尾开始列出资源部分。原帖我对async函数的理解是它返回一个promise。MDN文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function在我的程序中我可以这样写:functiontestPromise(){returnnewPromise((resolve,reject)=>{//DOWORKreject()//IFWORKFAILSresolve()//IFWORKISS

javascript - AngularJS - 使用 $routeProvider :resolve 拒绝了 $http promise

我正在尝试在$routeProvider中使用resolve以仅在$http请求完成时显示新路由。如果请求成功,则$http.post()产生的promise将得到解决并呈现View。但是,如果请求失败(例如超时或内部错误),则promise永远不会得到解决,并且永远不会呈现View。如何使用resolve处理请求失败?代码中最重要的部分如下:应用程序.js$routeProvider.when('/warrantyResult',{templateUrl:'partials/warranty-result.html',controller:'WarrantyResultCtrl',r

javascript - 用于顺序执行同步和异步函数的 jQuery Deferred 和 Promise

如果我想让同步和异步函数以特定顺序执行,我可以使用jQuerypromise,但它似乎并没有像我期望的那样工作。当调用deferred.resolve()时,函数a、b和c应该按该顺序执行我希望函数b被执行,但所有函数都会立即执行决议被称为。代码如下:functiona(){vardeferred=$.Deferred();setTimeout(function(){console.log("statusina:",deferred.state());//thisshouldtriggercallingaornot?deferred.resolve("froma");},200);co

javascript - ES2017 Async/await 函数 - 它们只适用于 promises 吗?

我开始在我的js应用程序(由Babel转译)中使用async/awaitES7函数。如果错了请纠正我,但它们只适用于Promises吗?如果是,这意味着我需要将常规回调函数包装到Promises中(顺便说一句,我目前正在做的事情)。 最佳答案 当前(也可能是最终的)async/await提案等待promises和脱糖成类似bluebird的Promise.coroutine的东西,其中await扮演yield.这是有道理的,因为promise代表值(value)+时间,而您正在等待该值(value)可用。注意await也在所有其他包

javascript - 我可以用 Bluebird.js 做一个 "lazy" promise 吗?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion我想要一个类似于promise的构造,它会等到then在它运行之前被调用。也就是说,如果我从未真正调用过then,则promise将永远不会运行。这可能吗?