javascript - 为什么 Sequelize 中会返回 Promise

标签 javascript object promise sequelize.js sequelize-cli

我是 Sequelize 新手。因此,我正在编写一个查询,在其中映射参数并在数据库中找到它们。但我得到的只是一个 promise 。 这是我的代码

findData(params) {
   return params.map(product => {
      return Model.Stock.findAll({ raw: true })
        .then(stocks => stocks.map(stock => ({ success: true, data: stock })))
        .catch(err => ({ success: true, error: err.toString() }));
    });
  },

我希望获得元素,我该怎么做?

0:Promise
_bitField:33554432
_fulfillmentHandler0:undefined
_promise0:undefined
_receiver0:undefined
_rejectionHandler0:Array(4)
_trace:CapturedTrace
__proto__:Object
length:1
__proto__:Array(0)

为了返回对象,我应该更改什么?

最佳答案

我建议阅读一些有关 Promise 以及如何有效使用它们的内容。您可以找到很多例子。

在您的特定情况下,查看代码,您确实收到了一个对象。 看看:

.then(stocks => stocks.map(stock => ({ success: true, data: stock })))

让我们进一步打破它:

stocks => stocks.map

股票应该(从名称来看)有一个对象数组。

就您的情况而言,您可以按如下方式使用它:

findData(params).then(function(yourObjects) {

    //do something here...
});

关于javascript - 为什么 Sequelize 中会返回 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51552194/

相关文章:

javascript - 访问对象中数组的值

javascript - 如何使返回 Promise 的函数在 forEach 循环内正常工作?

node.js - 跟踪方法被 Sinon/Mocha 调用了多少次

javascript - JS 修改 PHP 数组

javascript - 在 ios+chrome 上输入输入框很慢/非常慢

javascript - 如何处理 getJSON 的空返回

javascript - 尝试通过 AJAX 针对我的 WebAPI 发出 GET 请求,仅在 Firefox 和 Chrome 中返回 401 Unauthorized

php - 我应该在构造函数中实例化其他类吗?

javascript - 将大量(>40,000) native Promise 链接在一起会消耗太多内存

javascript - 将千克转换为磅和盎司的函数