我正在尝试解除 AWS S3 异步功能,并遇到一个奇怪的错误。给定以下代码,
var s3 = new AWS.S3();
var when = require('when');
var nodefn = require('when/node');
var getObjectP = nodefn.lift(s3.getObject);
getObjectP({
Bucket: 'bucket_name',
Key: 'key_name'
})
.then(function(data) {
...
}, function(err) {
...
});
我得到这个错误,
Object #<Object> has no method 'makeRequest'
这是getObject
正常的样子(当我使用回调而不是承诺时它工作正常):
s3.getObject({ ... }, function(err, data) {
...
});
我在滥用nodefn.lift
吗?这似乎很简单。这是任何有兴趣的人的文档。https://github.com/cujojs/when/blob/master/docs/api.md#nodelift