質問

I'm very new to the Q library.

I'd like to rewrite following code using promises.

The code bellow is Sync

var items = getItems();
var relatedItems = processItems(items)
saveRelatedItems(relatedItems)
markItemsAsProcessed(items)

Any ideas?

Update

Here is my code for now

getItems()
.then(processItems)
.then(saveRelatedItems)
.fail(ProcessError)

Now I need to mark my items for the getItems() as processed. And I also need to call markItemsAsProcessed only after saveRelatedItems() call is completed.

How can I make this flow using promises?

役に立ちましたか?

解決

To make a promise for an existing value, use Q(value).

EDIT: You can use .thenResolve() to inject an existing value into a promise chain:

var value = ...;
value.then(processItems)
    .then(saveRelatedItems)
    .thenResolve(value)
    .then(markItemsAsProcessed)‌​
    .fail(ProcessError). 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top