0
我正在嘗試使用AWS Javascript SDK來訪問S3。我正在使用'Q'庫的承諾。但它不起作用。 我也設置了Q依賴。AWS Javascript SDK with Promises
var Q = require('q');
AWS.config.setPromisesDependency(Q);
這裏是我的代碼:
var listBucketPromise = s3.listBuckets().promise();
listBucketPromise.then(
function (response) {
console.log(" response = " + response);
} ,
function (error) {
console.log(" error = " + error);
}
);
這顯示在控制檯上:
response = function (resolve, reject) {
self.on('complete', function(resp) {
if (resp.error) {
reject(resp.error);
} else {
// define $response property so that it is not enumberable
// this prevents circular reference errors when stringifying the JSON object
resolve(Object.defineProperty(
resp.data || {},
'$response',
{value: resp}
));
}
});
self.runTo();
}
我有一個有效的S3客戶端設置正確。回調格式的工作原理:
s3.listBuckets(function (err, data) {
console.log(data);
});
爲什麼承諾代碼不起作用?
你是什麼意思「*這顯示控制檯*」的意思,是一個錯誤信息? – Bergi
假設'setPromisesDependency'需要承諾構造函數,請嘗試傳遞'Q.Promise'而不是 – Bergi
我正在通過WebStorm終端測試腳本。這就是我所說的控制檯。打印該日誌的代碼是:'console.log(「response =」+ response);' – Manish