Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
node.js firebase返回的则不是函数_Node.js_Firebase_Google Cloud Functions - Fatal编程技术网

node.js firebase返回的则不是函数

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

我在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 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); 
 });