How to structure nested Promises

I have a situation where I think the only choice for me is to nest some Promises within each other. I have a Promise that needs to be performed and a method that does something until that Promise is complete. Something like this: let promise = new Promise((resolve, reject) => { // Do some stuff }); doSomethingUntilPromiseisDone(promise); However, within my Promise, I need to execute a

如何构建嵌套的Promise

我有一种情况,我认为我的唯一选择是在对方内嵌套一些承诺。 我有一个需要执行的Promise和一个方法,直到Promise完成为止。 像这样的东西: let promise = new Promise((resolve, reject) => { // Do some stuff }); doSomethingUntilPromiseisDone(promise); 但是,在我的Promise中,我需要执行另一个返回另一个Promise的方法: let promise = new Promise((resolve, reject) => { fetchValue(url) .then

Promises and Observables

I am a beginner in angular 2 . In HTTP methods we are using Subject(BehaviourSubject) in our project and I know that Subject is a special kind of Observables and there are some unique features in that. According to my knowledge, Promises and Observables are used to get data from the API We have to subscribe both promises or observables to get latest values I cant get these things, what

承诺和观察

我是角度2的初学者。 在HTTP方法中,我们在项目中使用Subject(BehaviourSubject),并且我知道Subject是一种特殊的Observable,并且有一些独特的特性。 据我所知, Promises和Observables用于从API获取数据 我们必须同意承诺或观察以获得最新价值 我不能得到这些东西, 在这里可以取消和不可取消的意思是什么? Promise返回单个值,而Observables返回多个值? 任何人都请解释我这些事情,以更好地理解。 提前致

When would it be beneficial to change an Observable to a promise

I'm working with Angular 2 and I was wondering if anyone could explain a situation in when it would be beneficial to convert and Observable to a promise? Ex. Rx.Observable.toPromise() I know the differences between promises & Observables. Again, I was just curious as to what type of situation the toPromise() operator would come in handy for. Thanks :) The obvious situation is whe

将Observable更改为承诺会有什么好处

我正在与Angular 2合作,我想知道是否有人可以解释一下何时将转换和Observable转换为承诺是有益的情况? 防爆。 Rx.Observable.toPromise() 我知道承诺和Observables之间的区别。 再次,我只是好奇toPromise()运算符会派上用场的是什么类型的情况。 谢谢 :) 很明显的情况是,当您强制使用API​​时,该API只与承诺接口,该接口的某些输入可以作为observables获得。 如果所有这些条件都满足了,那么你必须将你的观察值

What are the differences between observables and promises in JavaScript?

So i've read that observables are looking to overtake promises in terms of usage in some of upcoming JavaScript MVC's: Angular 2.0 Falcor used by Netflix What is the difference between observables and promises? Updated: Apologies! removed my falsy statement. What is the difference between observables and promises? Simply put: A promise resolves to a single value asynchronousl

JavaScript中的observable和promise有什么区别?

所以我读过,观察者正在寻求在即将到来的JavaScript MVC中的使用方面超过承诺: Angular 2.0 Netflix使用Falcor 可观察到的和承诺有什么区别? 更新:道歉! 删除了我的虚假陈述。 可观察到的和承诺有什么区别? 简而言之:承诺异步解析为单个值,observable异步解析(或发射)多个值(随时间推移)。 具体例子: Promise:来自Ajax调用的响应 可观察:点击事件 更多信息可以在这里找到:http://reactivex.

@Directive v/s @Component in Angular

What is the difference between @Component and @Directive in Angular? Both of them seem to do the same task and have the same attributes. What are the use cases and when to prefer one over another? A @Component requires a view whereas a @Directive does not. Directives I liken a @Directive to an Angular 1.0 directive with the option restrict: 'A' (Directives aren't limited to a

@ Directive v / s @Component in Angular

@Component和@Directive在Angular之间有什么区别? 他们两个似乎都做同样的任务,并具有相同的属性。 什么是用例以及什么时候更喜欢一个呢? @Component需要一个视图,而@Directive则不需要。 指令 我将@Directive与选项restrict: 'A' (指令不限于属性用法)作为Angular 1.0指令进行比较。指令将行为添加到现有DOM元素或现有组件实例。 指令的一个示例用例是记录对元素的点击。 import {Directive} from '@an

How can I `await` on an Rx Observable?

I'd like to be able to await on an observable, eg const source = Rx.Observable.create(/* ... */) //... await source; A naive attempt results in the await resolving immediately and not blocking execution Edit: The pseudocode for my full intended usecase is: if (condition) { await observable; } // a bunch of other code I understand that I can move the other code into another separate fu

我如何在Rx Observable上“等待”?

我希望能够等待一个可观察的,例如 const source = Rx.Observable.create(/* ... */) //... await source; 天真的尝试导致等待立即解决并且不阻止执行 编辑:我的完整意向用例的伪代码是: if (condition) { await observable; } // a bunch of other code 我知道我可以将其他代码移动到另一个单独的函数中,并将它传递给订阅回调函数,但我希望能够避免这种情况。 你必须通过承诺await 。 将observable的下一个事件

How to access the value of a promise?

I'm looking at this example from Angular's docs for $q but I think this probably applies to promises in general. They have this example, copied verbatim with their comment included: promiseB = promiseA.then(function(result) { return result + 1; }); // promiseB will be resolved immediately after promiseA is resolved and its value // will be the result of promiseA incremented by 1 I&#

如何获得承诺的价值?

我正在从Angular的$q文档看这个例子,但我认为这可能适用于一般的承诺。 他们有这个例子,逐字抄写他们的评论: promiseB = promiseA.then(function(result) { return result + 1; }); // promiseB will be resolved immediately after promiseA is resolved and its value // will be the result of promiseA incremented by 1 我不清楚这是如何工作的。 如果我可以对第一个.then()的结果调用.then() ,将它们链接起来,

jQuery Deferred continue to resolve after fail handler

I have a promise that can resolve or reject. I want to do something specific in those cases, and then continue resolving the promise chain (essentially I want to "catch" the rejected promise, do something, then continue resolving). Here's a functional snippet that shows the issue I'm running into : var def = $.Deferred(); def.then( function() { console.log('first su

jQuery Deferred在失败处理程序后继续解析

我有一个可以解决或拒绝的承诺。 我想在这些情况下做一些具体的事情,然后继续解决诺言链(基本上我想“抓住”被拒绝的诺言,做点什么,然后继续解决)。 这是一个功能片段,显示我遇到的问题: var def = $.Deferred(); def.then( function() { console.log('first success handler'); }, function() { console.log('first fail handler'); return $.Deferred().resolve(); } ); def.then( f

How to cancel an EMCAScript6 (vanilla JavaScript) promise chain

Is there a method for clearing the .then s of a JavaScript Promise instance? I've written a JavaScript test framework on top of QUnit. The framework runs tests synchronously by running each one in a Promise . (Sorry for the length of this code block. I commented it as best I can, so it feels less tedious.) /* Promise extension -- used for easily making an async step with a timeout

如何取消EMCAScript6(香草JavaScript)承诺链

是否有清除JavaScript Promise实例的.then的方法? 我已经在QUnit之上编写了一个JavaScript测试框架。 该框架通过在Promise运行每个测试来同步运行测试。 (对不起,这段代码的长度,我尽可能地评论它,所以感觉不那么乏味。) /* Promise extension -- used for easily making an async step with a timeout without the Promise knowing anything about the function it's waiting on */ $$.extend(Promise

Why does javascript ES6 Promises continue execution after a resolve?

As I understand a promise is something that can resolve() or reject() but I was suprised to find out that code in the promise continues to execute after a resolve or reject is called. I considered resolve or reject being an async-friendly version of exit or return , that would halt all immediate function execution. Can someone explain the thought behind why the following example sometimes sho

为什么JavaScript ES6 Promise在解决后继续执行?

据我所知,承诺是可以解决()或拒绝()的东西,但我很惊讶地发现承诺中的代码在调用解析或拒绝之后继续执行。 我认为解析或拒绝是退出或返回的异步友好版本,会停止所有立即执行的函数。 有人可以解释为什么下面的例子有时在解析调用后显示console.log: var call = function() { return new Promise(function(resolve, reject) { resolve(); console.log("Doing more stuff, should not be visible a