IBM云函数:在NodeJS中使用异步调用 [英] IBM Cloud Functions: Use async calls in Nodejs

查看:23
本文介绍了IBM云函数:在NodeJS中使用异步调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Cloud.ibm.com的Access a Cloudant Database操作中运行此代码:

 async function main(params) {
     const cloudant = Cloudant({
         url: params.COUCH_URL,
         plugins: { iamauth: { iamApiKey: params.IAM_API_KEY } }
     });
 
 
     try {
         
         let dbList = await cloudant.db.list();
         let db = await cloudant.use('dealerships')
         let result = await db.get("ddb5ed4f65d21bf4a4da409b8bc4b70a")
         
         let query = {
           "selector": {
              "_id": "ddb5ed4f65d21bf4a4da409b8bc4b70a"
           },
           "fields": [
              "_id",
              "_rev"
           ],
           "sort": [
              {
                 "_id": "asc"
              }
           ]
        }
         let result2 = await db.find(query, function(err, data){
            return data;
         });
         
         let indexes_result = await db.index(function(err, result) {
          if (err) {
            throw err;
          }
          else{
              return result
          }
         let indexes_ = {};
          
          return indexes_

        });
         
         return {
             "dblist": dbList,
             "result": result,
             "result2": result2,
         }
         
          } catch (error) {
         return { error: error.description };
     }
 
 }

我的结果如下:

Results:
{
  "dblist": [
    "alice",
    "celina",
    "dealerships",
    "gaetan",
    "guestbook",
    "reviews"
  ],
  "result": {
    "_id": "ddb5ed4f65d21bf4a4da409b8bc4b70a",
    "_rev": "1-34e7ebd07643af43db578a46ee1d6365",
    "address": "3 Nova Court",
    "city": "El Paso",
    "full_name": "Holdlamis Car Dealership",
    "id": 1,
    "lat": 31.6948,
    "long": -106.3,
    "short_name": "Holdlamis",
    "st": "TX",
    "state": "Texas",
    "zip": "88563"
  }
}
Logs:
[]

所以我的Result2没有出现在Result对象中,并且我不知道发生了什么。我希望我可以访问一些日志和一些错误,以了解问题所在,但我无权访问任何内容。

有人能为我提供访问日志和错误的方法吗?

推荐答案

您的IBM Cloud Functions操作可以使用异步代码。对于Node.js,请查看Functions documentation,了解如何修复它。您需要使用承诺

您可以在dashboard中查看您的操作的激活日志,或者使用CLI/API或通过SDK检索它们。

顺便说一下:在您自己的回答中,您指的是Cloudant文档。它独立于IBM Cloud Functions/OpenWhisk。

这篇关于IBM云函数:在NodeJS中使用异步调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆