如何解决问题:Uncaught (in promise) TypeError: promisify is not a function?

Posted

技术标签:

【中文标题】如何解决问题:Uncaught (in promise) TypeError: promisify is not a function?【英文标题】:How to solve the problem :Uncaught (in promise) TypeError: promisify is not a function? 【发布时间】:2020-10-09 15:12:54 【问题描述】:

下面是我的代码。 我使用节点 v12.16.3 和 npm v6.14.4。

const GoogleSpreadsheet = require('google-spreadsheet');
const promisify = require('util');
const creds = require('./client_secret.json');

控制台显示如下错误: Uncaught (in promise) TypeError: promisify is not a function

我称之为promisify:

async function accessSpreadsheet()
    const doc = new GoogleSpreadsheet(MY_GOOGLESHEET_ADDRESS);
    await promisify(doc.useServiceAccountAuth)(creds);
    const info = await promisify(doc.getInfo)();
    const sheet = info.worksheets[0];
    const rows = await promisify(sheet.getRows)(
        offset:1
    );
    rows.forEach(row =>
        if(row.userid=='dog')
            var num = parseInt(row.point,10);
            num+=1;
            row.point = num;
            row.save();
        
    )

我应该怎么做才能解决这个错误?

nodejs新手,我愿意知道和学习任何东西。谢谢!

【问题讨论】:

我相信你使用了错误版本的节点。 Promisify 是一个相对较新的功能。 分享发生错误的代码。是在进口本身吗?当你调用 promisify 时,可能会出现错误的用法。 【参考方案1】:

你应该使用不带 的 promisify 变量

const promisify = require('util');

const util = require('util');
util.promisify(some code);

【讨论】:

两种方法都试过了,还是不行,还是报同样的错误。

以上是关于如何解决问题:Uncaught (in promise) TypeError: promisify is not a function?的主要内容,如果未能解决你的问题,请参考以下文章

解决Uncaught (in promise) reason的问题

解决Uncaught (in promise) reason的问题

前端Uncaught (in promise) 的解决方法及原因

解决 Uncaught (in promise) DOMException: play() failed 因为用户没有先与文档交互

解决Uncaught (in promise) TypeError: Failed to execute ‘Cache‘ on addAll

解决Uncaught (in promise) TypeError: Failed to execute ‘Cache‘ on addAll