Angular2:回归诺言
这个问题在这里已经有了答案:
AWS SDK for JavaScript从3月31日发布2.3.0版本开始支持许诺。 这是通告。
如果您使用2.3.0之前的版本,我建议您更新到最新的SDK版本,然后使用promises而不是回调。
如果你使用TypeScript,你可以做这样的事情来返回一个promise
。 我可以想象它的JavaScript风格大致相同:
getBuckets() {
return new Promise(function (resolve, reject) {
var s3 = this.getS3();
var params = {};
s3.listBuckets(params, function(err, response) {
if (err) {
reject(err);
}
else {
resolve(response);
}
})
})
}
你可以在这里使用$ q,documentatie:https://docs.angularjs.org/api/ng/service/$q
这看起来像这样:
getBuckets() {
var deferred = $q.defer();
var s3 = this.getS3();
var params = {};
s3.listBuckets(params, function(err, response) {
if (err) {
deferred.reject(err);
}
else {
deferred.resolve(response);
}
})
return deferred.promise;
}
链接地址: http://www.djcxy.com/p/55519.html