我是Q库的新手。
我想使用promises重写以下代码。
下面的代码是同步
var items = getItems();
var relatedItems = processItems(items)
saveRelatedItems(relatedItems)
markItemsAsProcessed(items)
有什么想法吗?
更新
这是我现在的代码
getItems()
.then(processItems)
.then(saveRelatedItems)
.fail(ProcessError)
现在我需要为处理过的getItems()
标记我的项目。我还需要在markItemsAsProcessed
来电完成后致电saveRelatedItems()
。
如何使用promises进行此流程?
答案 0 :(得分:1)
要对现有值作出承诺,请使用Q(value)
。
编辑:您可以使用.thenResolve()
将现有值注入承诺链:
var value = ...;
value.then(processItems)
.then(saveRelatedItems)
.thenResolve(value)
.then(markItemsAsProcessed)
.fail(ProcessError).