Node.js 我如何回电以回报承诺?我可以使用Promise.resolve()作为回调函数吗?
我使用dynogels这是一个包装AWS dynamoDB表的框架,我使用它来删除dynamoDB表上的项,它们提供的函数是回调函数 //文件Node.js 我如何回电以回报承诺?我可以使用Promise.resolve()作为回调函数吗?,node.js,amazon-web-services,callback,promise,amazon-dynamodb,Node.js,Amazon Web Services,Callback,Promise,Amazon Dynamodb,我使用dynogels这是一个包装AWS dynamoDB表的框架,我使用它来删除dynamoDB表上的项,它们提供的函数是回调函数 //文件 // Destroy model using hash and range key BlogPost.destroy('foo@example.com', 'Hello World!', function (err) { console.log('post deleted') }); 但是我想用promise而不是callback,那么我想我
// Destroy model using hash and range key
BlogPost.destroy('foo@example.com', 'Hello World!', function (err) {
console.log('post deleted')
});
但是我想用promise而不是callback,那么我想我可以把promise.resolve放在callback中吗
BlogPost.destroy('foo@example.com', 'Hello World!', Promise.resolve())
.then(()=>{
console.log('post deleted')
});
我如何回电以回报承诺?到目前为止,我认为无论如何都做不到。有一个简单的util,即
util.promisify
let util=require('util'))
//创建一个副本并自己命名。。。
util.promisify(BlogPost.destroy).call(BlogPost,'foo@example.com“你好,世界!”)
.然后(()=>{
console.log('post deleted')
});
// ... 或者创建一个替代方法:
BlogPost.prototype.destroyPromises=util.promisify(BlogPost.destroy)
//后来
BlogPost.comfoo@example.com“你好,世界!”)
.然后(()=>{
console.log('post deleted')
});代码>不,那不行。您需要新的Promise
构造函数。