JavaScript类型错误(中间值)。超时不是一个函数

时间:2019-03-20 15:15:23

标签: node.js

我得到

TypeError: (intermediate value).timeout is not a function
    at refreshPricelist (C:\afl-online-api-dev\refreshPricelist.js:36:8)
    at <anonymous>

引用以下代码:

    console.log("Pricelist already processing... setting up listener");
    return new Promise(resolve => {
      plEmitter.once(`pl_${accountID}`, () => {
        console.log("resolved");
        return resolve();
      });
    }).timeout(5000);

到目前为止,我所做的研究告诉我,某处存在不正确的分号,但我将其放入es-linter中,并且看起来不错,减去了控制台日志记录。我在做什么错了?

谢谢

2 个答案:

答案 0 :(得分:0)

您正在将timeout函数链接到Promise对象。据我了解,Promise对象没有这种方法。 此timeout函数有什么作用?

答案 1 :(得分:0)

timeout不是Promise Object的方法。也许您的代码/库/应用程序想要使用名为bluebird的程序包,该程序包向本机Promise添加了一些功能。

所以你必须做 npm install bluebird --save

然后在您的JavaScript文件的开头

const Promise = require("bluebird");