【发布时间】:2016-03-02 03:26:32
【问题描述】:
这是我的代码。它仍然非常嵌套。如果这很重要,我正在使用bluebird。
Promise.each BrowseNodes, (BrowseNode) ->
amazonClient.browseNodeLookup
browseNodeId: BrowseNode.browseNodeId
.then (lookupResult) ->
childNodes = lookupResult[0].Children[0].BrowseNode
Promise.each childNodes, (childNode) ->
amazonClient.browseNodeLookup
browseNodeId: childNode.BrowseNodeId
responseGroup: 'TopSellers'
.then (results) ->
items = results[0].TopSellers[0].TopSeller
【问题讨论】:
-
您不必内联函数。为什么不事先定义它们并放入变量中?例如。
onError = ...,onBrowseNodeSuccess = ... -
您可以使用链接而不是嵌套结帐stackoverflow.com/questions/26305267/…
-
相关,如果不重复:How to optimize this Node.js + q code to prevent callback hell?。当您想要循环时,您无法完全避免嵌套。这并没有错。
标签: javascript coffeescript promise bluebird