如何将对象数组映射到Q Promise数组

Akaphenom

我似乎无法解决这个问题。我有一个职位清单,我想将其变成一系列的承诺,然后我要收集这些承诺。它不起作用,positionPromises会导致一个null数组(例如[null,null])

var positionPromises  = _.map(positions, function(position) {

    var newPosition = Position({
        'weight': 1
        ,'ideaId': idea.id
    })  

    var promise = null
    Q.all([
                    // asynchronous sets (each does a db lookup)
        newPosition.setDirectionByName(position.direction)
        , newPosition.setSecurityByTicker(position.ticker) 
    ]).then(function(noop) {
        // the position has it's data, invoke save which also returns a promise
        promise = Position.qCreate(newPosition)
    }).done()
    return promise

    console.log("NEVER GET HERE @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
}) // _.map

console.log(positionPromises)
positionPromises.reduce(function(noop, positionPromise){
    console.log('Reduce iteration')
    positionPromise.then(function(position) {
         console.log('THEN')
    })
})

我的解决方案

从下面的答案中,这就是我要做的...

减少上述尝试的目的是在将其返回到UI之前,将位置与该想法相关联。但是由于我没有积累任何东西,所以一切正常(可能更好):

var positionPromises = _.map(positions, function(position) {

    var newPosition = Position({
        'weight': 1
        ,'ideaId': idea.id
    })  

    return Q.all([
            newPosition.setDirectionByName(position.direction)
            , newPosition.setSecurityByTicker(position.ticker) 
        ]).then(function(noop) {
            //newPosition.setIdea(idea)
            return Position.qCreate(newPosition)
        })
}) // _.map

Q.all(positionPromises).then(function(positions){
    console.log('RESULTS of POSITION Promises')
    idea.positions = positions

    res.send(idea)

})
贝吉
var promise = null
Q.all(…)
return promise

返回null从功能在这里。对该promise变量的所有分配均在异步回调中完成,这将在返回映射函数之后发生。

相反,您需要做的是then用于链接:计算setDirectionByNamesetSecurityByTicker,然后计算两个(全部)都完成qCreate一个承诺,然后产生该承诺的值:

var positionPromises  = _.map(positions, function(position) {
    var newPosition = Position({
        'weight': 1,
        'ideaId': idea.id
    });
    return Q.all([
        newPosition.setDirectionByName(position.direction),
        newPosition.setSecurityByTicker(position.ticker) 
    ]).then(function() {
        return Position.qCreate(newPosition);
    });
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将对象数组映射到Q Promise数组

来自分类Dev

如何将对象值映射到可观察数组

来自分类Dev

如何将对象映射中的数组映射到另一个数组

来自分类Dev

Dataweave 2如何将对象映射到对象的JSON数组

来自分类Dev

Dataweave 2如何将对象映射到对象的JSON数组

来自分类Dev

如何使用Ramda将对象数组映射到单个对象

来自分类Dev

如何使用Ramda将对象数组映射到单个对象

来自分类Dev

如何将对象映射到数组,以便可以将其转换为csv?

来自分类Dev

如何将对象数组中的值映射到渲染元素的样式

来自分类Dev

AutoMapper将对象映射到数组

来自分类Dev

如何将数组或对象映射到对象?

来自分类Dev

如何将异构JSON数组映射到Java对象?

来自分类Dev

ES6将对象数组映射到数组

来自分类Dev

将对象映射到 ES6 中的对象数组

来自分类常见问题

在Swift中将对象数组映射到Dictionary

来自分类Dev

将对象数组动态映射到表行

来自分类Dev

Automapper -> 将对象的命名属性映射到数组属性

来自分类Dev

如何将数组映射到哈希

来自分类Dev

如何将数组数组映射到属性和值之类的对象?

来自分类Dev

如何将两个对象映射到 Angular 中的对象数组?

来自分类Dev

按值将对象数组映射到新的数组数组中

来自分类Dev

JavaScript将对象数组映射到新对象新数组的最短方法?

来自分类Dev

将对象数组映射到另一个对象数组中

来自分类Dev

将对象数组映射到具有数组的分组对象

来自分类Dev

如何将Python数组映射到NumPy数组

来自分类Dev

如何将 Firestore DocumentReferences 数组映射到 DocumentData 数组?

来自分类Dev

如何将对象用作数组?

来自分类Dev

如何将对象转换为数组

来自分类Dev

如何将对象从数组推入角度

Related 相关文章

  1. 1

    如何将对象数组映射到Q Promise数组

  2. 2

    如何将对象值映射到可观察数组

  3. 3

    如何将对象映射中的数组映射到另一个数组

  4. 4

    Dataweave 2如何将对象映射到对象的JSON数组

  5. 5

    Dataweave 2如何将对象映射到对象的JSON数组

  6. 6

    如何使用Ramda将对象数组映射到单个对象

  7. 7

    如何使用Ramda将对象数组映射到单个对象

  8. 8

    如何将对象映射到数组,以便可以将其转换为csv?

  9. 9

    如何将对象数组中的值映射到渲染元素的样式

  10. 10

    AutoMapper将对象映射到数组

  11. 11

    如何将数组或对象映射到对象?

  12. 12

    如何将异构JSON数组映射到Java对象?

  13. 13

    ES6将对象数组映射到数组

  14. 14

    将对象映射到 ES6 中的对象数组

  15. 15

    在Swift中将对象数组映射到Dictionary

  16. 16

    将对象数组动态映射到表行

  17. 17

    Automapper -> 将对象的命名属性映射到数组属性

  18. 18

    如何将数组映射到哈希

  19. 19

    如何将数组数组映射到属性和值之类的对象?

  20. 20

    如何将两个对象映射到 Angular 中的对象数组?

  21. 21

    按值将对象数组映射到新的数组数组中

  22. 22

    JavaScript将对象数组映射到新对象新数组的最短方法?

  23. 23

    将对象数组映射到另一个对象数组中

  24. 24

    将对象数组映射到具有数组的分组对象

  25. 25

    如何将Python数组映射到NumPy数组

  26. 26

    如何将 Firestore DocumentReferences 数组映射到 DocumentData 数组?

  27. 27

    如何将对象用作数组?

  28. 28

    如何将对象转换为数组

  29. 29

    如何将对象从数组推入角度

热门标签

归档