问题标签 [node-promisify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 使用 util.promisify 和 exec 不能解决 git hook 中的承诺
根据文档require('child_process').exec
,您可以通过执行以下操作来承诺 NodeJS' :
但是,当我在 'prepare-commit-msg' git 挂钩中使用这种方法来获取当前分支名称时,stdout
常量是一个承诺对象,而不是我期望的分支名称值。我错过了什么吗?
javascript - Promisify 一个返回 null 的函数
此函数返回 null ,我需要对其进行承诺。但我不明白这段代码。有人能帮忙吗。
node.js - 节点:带有 util.promisify 的异步版本的 readline
我正在尝试创建readline
with的异步版本promisify
。
以这种方式使用的东西:
这是我的尝试:
我受到了我拥有的其他包装器的启发mysql
,它运行良好:
但是没有返回任何东西。任何的想法?
javascript - 如何解决问题:Uncaught (in promise) TypeError: promisify is not a function?
下面是我的代码。我使用节点 v12.16.3 和 npm v6.14.4。
控制台显示如下错误:
Uncaught (in promise) TypeError: promisify is not a function
我称之为承诺的地方:
我应该怎么做才能解决错误?
nodejs的新手,我愿意知道和学习任何东西。谢谢!
node.js - Node.js redis 使用 .multi 或 .batch 承诺
使用 npm 模块“redis”,我对单个命令使用 utils promisify 没有问题。
现在我希望能够使用 .multi 和 .batch 方法。
这是我的一个辅助函数的示例,它使用 .batch 而不使用 promisify 和非 promisify 版本的命令。
没问题,但我很好奇是否可以将 promisify 与 .multi 或 .batch 一起使用
非常感谢,
javascript - Promisify Express response.render 方法
我需要创建一个渲染方法来将 html 块构建为字符串。它似乎有效,但我使用了臭名昭著的“新承诺”,我想知道我所做的是否正确:
谢谢!
node.js - 如何在钩子前在摩卡咖啡中使用 async/await?
我正在使用节点util.promisify
尝试fs.readFile
在辅助函数中等待结果,但是第二个 readFile 从未被调用,并且我总是遇到超时错误。
根据Mocha 文档和解释 promisify 实用程序功能的这篇博客文章,从我所看到的情况来看,我正在正确使用 await 。
超时错误是标准的“超时...确保完成()被调用或确保承诺解决”。我注意到如果第一个 readFile 正在读取 .dic 文件,控制台将输出“got dic data”,但如果交换 readFile 操作,控制台输出是“got aff data”。
这表明由于某种原因,只有第一个 readFile 正在执行,但我不知道为什么第一个 readFile 会阻止第二个读取文件被执行(因此 return 语句无法运行)。
谢谢你的时间。
javascript - 当回调丢失时,`await promisify(setTimeout)(ms)` 是如何工作的?
对于 JavaScript 中的简单异步睡眠功能,await promisify(setTimeout)(ms)
可以!
但是怎么做?论据看起来是错误的。
- promisify传递一个错误回调,所以
- setTimeout调用将是
setTimeout(ms, errorCallback)
这不应该工作,但它确实有效。如何?
背景:await setTimeout(() => {}, 1000)
不起作用。这个单线:await new Promise(resolve => setTimeout(resolve, 1000))
对我不起作用(为什么?)。我们可以手动承诺它:const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); await sleep(1000)
,但这是一个额外的功能。我们可以做得更好。
node.js - 如何将 HMSET 与节点 promisify 一起使用
我正在使用 node (TypeScript) 和 node-redis 库。由于我使用 TypeScript,因此我还导入了 @types/redis。
另外,我阅读了这篇关于如何为 TypeScript 使用 promisify redis 方法的文章:https ://flaviocopes.com/node-promisify/
我的问题是它适用于某些 redis 方法(如 GET、SET 等),但不适用于例如 HSET 或 HGETALL。
如果我查看类型建议,我发现关键方法实际上根本不是方法,而是属性(hset、HSET):
为什么会这样?我怎样才能访问那些需要的方法?
我想我在做一些明显错误的事情。有任何想法吗?
node.js - promisify 如何知道要返回哪个变量?
我在这个函数上使用了 util.promisify sqlite3
:
我的问题是,promisify 如何知道在第 7 行返回哪个变量(“err”或“row”)?