es6-promise相关内容
我正在使用 React 和 Redux 构建前端应用程序,并且正在使用 axios 来执行我的要求.我想访问响应标题中的所有字段.在我的浏览器中,我可以检查标题,我可以看到我需要的所有字段都存在(例如令牌、uid 等...),但是当我调用时 const request = axios.post(`${ROOT_URL}/auth/sign_in`, props);request.then((响应
..
我担心我看到的使用 JQuery 兼容承诺解析的引用,因为我读过 jQuery 承诺 允许消费者改变承诺的状态.是否可以使用另一个已知的 Promises/A+ 兼容的 promise 实现(例如 ECMAScript 6 实现,或 Bluebird) 与 Parse JavaScript SDK? 通常我认为这是不可能的,但在 Parse JavaScript SDK 的 v1.4.2 中
..
当 promise 被生产和消费时,我对幕后发生的事情感到非常困惑.请澄清我的观点,并为我的英语能力不佳而道歉. 空白对象是用 new 关键字创建的 Promise 构造函数是called 和 new 关键字设置了 Promise 构造函数指向的 this空白对象 this = 空白对象. Promise 构造函数在参数中接收回调(执行器函数)并调用执行器函数. 执行器函数接收两个回调(
..
我正在寻找一种使用 Node v7.6 或更高版本的方法来获得 Bluebird Promise(或任何非本地承诺)当异步函数被调用时. 我可以用同样的方式: global.Promise = require('Bluebird');//或 Q/Whenvar getResolvedPromise = () =>Promise.resolve('value');得到已解决的承诺.tap(.
..
我正在寻找一种方法来创建将在当前范围之外解析的延迟对象.我喜欢延迟对象,正如我在 Chrome 38 中看到的 Promise.defer() 返回延迟对象. 但在最新的 Firefox 34 中 Promise.defer 在 Safari 8.0 中也未定义. 所以我现在不能在任何地方使用 Promise.defer.未来地位如何?它会在其他浏览器中实现还是会因弃用而被删除?
..
假设我正在使用以下代码连续运行几个 Promise: let paramerterArr = ['a','b','c','d','e','f']参数Arr.reduce(功能(承诺,项目){返回promise.then(函数(结果){返回 mySpecialFunction(item);})}, Promise.resolve()) 代码简单地调用 mySpecialFunction(它返回一
..
我听到这样一种意见,你应该完全避免使用 try/catch,因为它需要很多资源.那么承诺错误处理速度会更快吗?或者根本没有关系? function f(somethingDangerous) {返回新的承诺((解决,拒绝)=> {//尝试 {//危险的东西();// 解决();//} 捕捉(错误){//拒绝(错误);//}//VS危险的东西();解决();}).catch((错误) => {c
..
类似于这个问题,但不是询问如何承诺一般有效,我特别想知道: 包装setTimeout 在返回 Promise 的东西中?我在想像 Angular 的 $timeout 函数,但不是特定于 Angular. 解决方案 在浏览器中 首先不是 - 没有内置的.许多增强 ES2015 的库都像 bluebird 鞭子一样承诺. 我认为另一个答案将执行函数和延迟混为一谈,它还创建了
..
我有一个承诺,我希望它只有在内部承诺已经解决时才能解决.现在它在“loadend"回调中到达“resolve"函数之前解决. 我错过了什么?我对您应该如何使用 resolve 以及如何在另一个承诺中使用承诺感到困惑. 我在网上找不到任何有用的东西. 在下面的例子中,我基本上加载了一堆文件,对于每个文件,我得到一个 blob,我想在文件阅读器中传递这个 blob. 一旦所有文
..
有谁知道,使用 Modernizr 或其他方式,是否有办法检测浏览器中是否启用了 Promise 功能? 我有一个用于该功能的 polyfill,但只想在浏览器没有本机实现时应用它. 解决方案 2016 年 12 月 11 日 - 更新:所有常绿版本的浏览器现在都支持 promise.它们可以安全使用. 2016 年 11 月 14 日更新:Chrome、Firefox、Saf
..
关于这两个伟大的来源:NZakas - 在承诺链中返回承诺 和 MDN 承诺,我想问以下问题: 每次我们从承诺履行处理程序返回一个值时,该值如何传递给从同一处理程序返回的新承诺? 例如 let p1 = new Promise(function(resolve, reject) {解决(42);});让 p2 = 新承诺(功能(解决,拒绝){解决(43);});让 p3 = p1.t
..
背景 我有一个向服务器发出请求的函数.如果请求失败,我想:1.记录错误2.运行终端命令2.1 记录命令失败或成功 为了实现这一点,我有以下代码: const createRequest = ( { request, logger, terminal } ) =>( { 端点,超时 } ) =>request.get( 端点,{ 超时 } ).then( 响应 =>logger.inf
..
JavaScript/Promise 专家, 我希望你能帮助我,因为我不明白如何创建一个返回现有承诺而不是新承诺的函数.我做了大量的研究,但所有示例在每次调用该函数时都会返回一个新的 promise. 假设我有一个函数需要一些时间来处理并在每次调用时生成不同的结果.当我使用新的 promise 方法时,我仍然需要等待每次完成,如果我回忆起函数,我不会得到相同的值. 我已经包含了我
..
我正在替换一些使用 jQuery Deferred 对象的旧代码,我正在使用 Bluebird/ES6 Promises 重写. 如果我有多个异步调用,如何在所有的promise都解决后触发一个函数. 使用 jQuery Deferreds 会是这样的: var requests = [...];//一些任意数据被迭代生成多个ajax请求var 承诺 = [];结果.forEach(
..
我正在尝试学习如何使用 Promise,但我无法理解链接.我假设使用此代码,两个 Promise 都会运行.然后当我调用 test.then() 时,它应该知道测试已经解析并将解析数据传递给 then(). 一旦该函数完成,它就会进入下一个 then(),对 test2 承诺重复相同的过程. 但是,我只能让它打印出第一个承诺结果,而不是第二个.知道这里缺少什么吗? var test
..
我正在尝试扩展 Promise: class PersistedPromise 扩展 Promise { } 然后在派生类上调用静态的resolve,直接创建一个resolved promise: PersistedPromise.resolve(1) 在 traceur 中,这会产生: ModuleEvaluationError: #不是承诺在新的 PersistedPromise (
..
我有一个函数,它返回一个 javascript Promise 并在其中运行一些异步代码.异步代码需要重试几次,以防失败.我一直在这样做,直到我观察到一些奇怪的行为,这让我怀疑我是否做得对.所以我不得不改变它.截断的两种方法都在这里.我知道为什么第一种方法 (asyncFunc) 不起作用,如果有人能分享一些关于它的技术清晰度,我将不胜感激.对于第二种方法 (ayncFunc_newer),您有没
..
本问答旨在明确回答以下问题: 什么是 JavaScript 中的异步函数,我们何时以及如何使用它们? JavaScript 中的 async、await 关键字是什么?它们与异步函数有什么关系? 要遵循答案,需要以下先决条件: 了解 JavaScript 的异步编程模型 ES6 Promise 对象的知识 解决方案 Intro JavaScript 有一个异步模
..
根据 MDN: 如果任何传入的 promise 被拒绝,则 all Promise 会立即拒绝并使用被拒绝的 Promise 的值,丢弃所有其他 Promise,无论它们是否已解决. ES6 规范似乎证实了这一点. 我的问题是:为什么 Promise.all 会在任何一个拒绝承诺时丢弃承诺,因为我希望它等待“所有"承诺解决,以及“丢弃"究竟是什么意思?(很难区分“丢弃"对于正在进
..
我目前正在试验 Promise 并且有一个非常基本的问题! 在承诺链中,调用同步函数是不好的做法吗?例如: .then(function(results) {if(checkIfResultInMemory(results) === true){返回 getTotalFromMemory()}返回结果;}) 或者应该重构我的同步函数以返回 promise 吗? 解决方案 在一
..