node.js firebase返回的则不是函数
我在node.js中有这个请求方法,它异步地给我一个键/值。我需要全局地获取这个值,但它在范围之外是未定义的。为此,我尝试在函数中实现“then”,但它返回了我node.js firebase返回的则不是函数,node.js,firebase,google-cloud-functions,Node.js,Firebase,Google Cloud Functions,我在node.js中有这个请求方法,它异步地给我一个键/值。我需要全局地获取这个值,但它在范围之外是未定义的。为此,我尝试在函数中实现“then”,但它返回了我 TypeError: request(...).then is not a function at Object.<anonymous> (E:\FirebaseNotif\group.js:26:4) at Module._compile (internal/modules/cjs/loader.js:678:30) at
TypeError: request(...).then is not a function
at Object.<anonymous> (E:\FirebaseNotif\group.js:26:4)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
at Module.load (internal/modules/cjs/loader.js:589:32)
at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
at Function.Module._load (internal/modules/cjs/loader.js:520:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:719:10)
at startup (internal/bootstrap/node.js:228:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:576:3)
.那么()代表承诺。如问题中所述,请求方法使用回调。如果您使用请求库,您实际上可以通过安装另一个库来使用promise实现—请在此处阅读更多信息。如果你不想“按承诺行事”(因为你也可以通过回调解决)。请告诉我如何通过回调解决问题?什么是
请求?你确定它会返回一个承诺吗?它会返回一个包含通知密钥的主体。整个请求都是异步的。这就是为什么我无法全局获取其中的数据。我的主要目标是在全球范围内获取它的数据。。{通知键:'APA91BF5HLBSIDCPM9SLFZBVVN8FUDVVD_xlyCnC6u20qZwZJcaOA_QY1QF5727N47A9CDOUTAU7HPVDGQOK3NGMQNNSFIXY47D6P7A-AyCZsv0JksH8Y'}
request(options, function (error, response, body) {
console.log(body);
key = body.notification_key;
return key;
}).then(result =>{
console.log('my key is : ' + key);
});