有什么方法可以在回调接受两个以上参数的情况下promisify一个函数?一个例子是node的fs.read,回调的三个参数是err、bytes和data。data参数没有传递给then函数,所以这个记录未定义:varfs=require('fs');varPromise=require('bluebird');varopen=Promise.promisify(fs.open);varread=Promise.promisify(fs.read);open('test.txt','r').then(function(fd){varbuffer=newBuffer(1024);read(
我正在尝试使用Bluebird库的promise来重构我的nodejs服务器,但我遇到了一个简单的问题。从我的数据库中获取用户后,我想列出与该用户关联的所有通知类:糟糕的方式(工作...)adapter.getUsers(function(users){users.rows.forEach(function(item){user=item.username;adapter.getNotifications(user,function(notificationList){console.log(notificationList);})});});优雅的尝试方式(不工作...)varget
我正在关注StephenGrinder教程,他开始使用Promisify。为此,他给出了非常模糊的解释,说redis需要一个回调函数,他发现veryuntidy+redis不支持NodeJS中的promises然后他做了这样的事constredis=require('redis')constredisURL='redis://127.0.0.1:6379';constredisClient=redis.createClient(redisURL);constutil=require('util')client.get=util.promisify(client.get)constcac
在我要测试的文件中,我有以下代码:varhttpGet=Promise.promisify(require("request").get);httpGet(endpoint,{auth:{bearer:req.body.access_token},json:true}).then(...)现在,在我的测试中,我想确保httpGet被调用一次,并确保参数有效。在被promise之前,我的测试是这样的:beforeEach(function(){request.get=sinon.stub().yields(null,null,{error:"testerror",error_descri
在我要测试的文件中,我有以下代码:varhttpGet=Promise.promisify(require("request").get);httpGet(endpoint,{auth:{bearer:req.body.access_token},json:true}).then(...)现在,在我的测试中,我想确保httpGet被调用一次,并确保参数有效。在被promise之前,我的测试是这样的:beforeEach(function(){request.get=sinon.stub().yields(null,null,{error:"testerror",error_descri
我有一些使用node-bing-api的代码.这是错误优先且完美运行,但我想将其转换为使用Promises(和await)。我正在使用Node8和util.promisify。在下面的代码中,Bing.web是常规的err-first代码,searchBing是promisified版本。varfindParentDir=require('find-parent-dir'),configDir=findParentDir.sync(__dirname,'config.js'),config=require(configDir+'config.js'),util=require('uti
我有一些使用node-bing-api的代码.这是错误优先且完美运行,但我想将其转换为使用Promises(和await)。我正在使用Node8和util.promisify。在下面的代码中,Bing.web是常规的err-first代码,searchBing是promisified版本。varfindParentDir=require('find-parent-dir'),configDir=findParentDir.sync(__dirname,'config.js'),config=require(configDir+'config.js'),util=require('uti
我正在尝试promisify一个mysql函数,但是当我运行它时,控制台显示此错误util.Promisify不是函数。这是我的代码:varutil= require('util');varmysql=require('mysql');varconection=mysql.createConnection({ host:'localhost', user:'root', password:'616897', database:'proyect' });varquery=util.promisify(conection.query);query(data.va
我正在尝试promisify一个mysql函数,但是当我运行它时,控制台显示此错误util.Promisify不是函数。这是我的代码:varutil= require('util');varmysql=require('mysql');varconection=mysql.createConnection({ host:'localhost', user:'root', password:'616897', database:'proyect' });varquery=util.promisify(conection.query);query(data.va
Node-v:8.1.2我使用redis客户端node_redis使用Node8util.promisify,没有blurbird。回调redis.get没问题,但是promisify类型得到错误信息TypeError:Cannotreadproperty'internal_send_command'ofundefinedatget(D:\Github\redis-test\node_modules\redis\lib\commands.js:62:24)atget(internal/util.js:229:26)atD:\Github\redis-test\app.js:23:27a