2017-02-08 7 views
0

Как использовать пакеты узлов в claudiajs. Я попытался использовать node-twitter-api и node-twitter в нем, но получить пустой ответ. обещание потребует или нет, я понятия не имею об этом в лямбда. , если у кого-нибудь есть примеры или документы, которые могут иметь несколько пакетов узлов, используемых с claudiajs для лямбда. ссылка: http://claudia.js, https://vimeo.com/156232471Как я могу использовать пакеты узлов в claudiajs для использования в aws lambda

var ApiBuilder = require('claudia-api-builder'), 
    api = new ApiBuilder(); 
    var twitterAPI = require('node-twitter-api'); 
    var Promise = require("bluebird"); 
    api.get("/request-token", function(request) { 
     'use strict'; 
     new Promise(function(resolve) { 
      var twitter = new twitterAPI({ 
       consumerKey: "ckey", 
       consumerSecret: "cskey", 
       callback: 'http://localhost:3000/access-token' 
      }); 
      var res; 
      twitter.getRequestToken(function(err, requestToken, requestSecret) {  
       if (err) 
        res = err; 
       else { 
        var _requestSecret = requestSecret; 
        var url = "https://twitter.com/oauth/authenticate?oauth_token" + requestToken; 
        res = url;   
        //res.redirect(url); 
       } 
      }); 
      return res; 
     }); 
    }); 
+0

Добро пожаловать в Stack Overflow. Возможно, вам захочется прочитать http://stackoverflow.com/help/how-to-ask для получения справки о том, как облегчить ответ людям. В этом случае вы сбросили кучу кода, не указывая на то, что вы пытаетесь сделать, или где вы думаете, что проблема может быть. Никто не сможет ответить на него – Mikkel

ответ

1

Вы можете использовать пакеты только путем включения в package.json, используя команды нормальной Javascript НПМ (например, npm install <package-name> -S, проверить https://claudiajs.com/tutorials/packaging.html для получения дополнительной информации), но на основе кода это Безразлично» Кажется, проблема.

  • Вы должны вернуть обещание из обработчика. (Вы просто инстанцировании обещание, не возвращая его)
  • нет необходимости использовать Блюберд, лямбда использует узел 4,3, который поддерживает Обещания из коробки
  • twitter.getRequestToken кажется использовать функцию обратного вызова, вам нужно переведите это обратно к обещанию, которое вы возвращаете, и разрешите/отклоните результат. ознакомьтесь с вступительным словом по обещаниям где-то в Интернете или просто используйте denodeify, чтобы превратить функцию обратного вызова в обещание напрямую

 Смежные вопросы

  • Нет связанных вопросов^_^