0
gcloudパッケージのすべてのメソッドを約束したいが、エラーが出る。 Bluebirdの約束を使ってgcloudを宣言する
const Promise = require('bluebird');
const gcloud = Promise.promisifyAll(require('gcloud'));
//no problem when passing a callback into it
bucket.getFiles((err, files) => {
console.log(files)
})
//Complain error -> bucket.getFilesAsync is not a function
bucket.getFilesAsync().then((files) => {
console.log(files)
})
は、私はそれが
bucket.getFilesAsync is not a function
文句
promisifyAll
後
async
メソッドを呼び出したときに、私はES6の約束を使用して方法をpromisifyしてみてください。
const bucketFiles = new Promise((resolve, reject) => {
bucket.getFiles((err, files) => {
if (err) return reject(err);
resolve(files);
});
});
bucketFiles.then((files) => {
console.log(files)
})
ES6の方法を使用してこのpromisificationが働いているが、私はこれを行うことによって、各メソッドをpromisifiyしたくありません。ですから、私はすべてのことを約束するためにbluebird
を持っていたいと思います。
bluebirdを使用してgcloudパッケージをどのように約束できますか?
Promisification
に一度バケット
またはバケットのパッチプロトタイプの各インスタンスのためにそれを行うことができますか? –
それは[Google App Engine Cloud Storage](https://googlecloudplatform.github.io/gcloud-node/#/docs/v0.30.2/storage/bucket?method=getFiles)のオブジェクトです。 – Tim
"Promise.promisify(バケット);' ' –