2017-02-17 1 views
0

Wie der Titel schon sagt, ich versuche, die RandomORG API zu verwenden, zu erzeugen (true) Zufallszahl, die einzige Sache, wenn ich versuche, eine Zufallszahl in meinem NodeJS undefined kehrt zu erzeugen. DieseRandomORG API in NodeJS Rückkehr undefinierte Werte

ist, wie ich es tun:

var RandomOrgAPI = require('random'); 
    var die; 

    //Here I log a random integer to the console. 
    console.log("" + RandomOrgAPI.integer({min:1,max:5,num:1},function(result){console.log(die = result[0])})); 
+0

Bitte zeigen tatsächliche Befehlszeile Fehler. –

+0

'RandomOrgAPI.integer' ist ein asynchrones Verfahren, es wird das Ergebnis nicht zurück, wird es die' callback' Parameter mit dem Ergebnis nennen, wie es erste Parameter sind. 'console.log' kann möglicherweise nichts als das Ergebnis von' "" + undefined "anzeigen. –

+0

Wird die 'console.log' * innerhalb * der Callback jemals ausgeführt oder nicht? – apsillers

Antwort

0

Sie sind höchstwahrscheinlich richtig die Bibliothek andernfalls zu laden.

Versuchen Sie, diese

var RandomOrgAPI = require('random-org-api'); 

und vergessen Sie nicht, die Bibliothek zu installieren, wie so:

npm install random-org-api 

Aus ihrer docs sieht es aus wie es .integers nicht .integer

var die; 
RandomOrgAPI.integers({min:1,max:6,num:1},function(result){console.log(die = result[0])}); 
+0

Ich überprüfte ihren GitHub und sie sagten, ich hätte npm installieren müssen. Ich werde es ausprobieren, tho! –

+0

https://www.npmjs.com/package/random-org-api ist, was ich sah. Ich würde ein anderes Paket verwenden. Dieser ist sehr alt. Versuchen Sie Folgendes: https://www.npmjs.com/package/random-js –

+0

TypeError: RandomOrgAPI.integer ist keine Funktion bei toWin (/home/bot/site.js:1762:35) bei null._repeat (/home/bot/site.js:1724:5) bei Wrapper [als _onTimeout] (timers.js: 275: 11) bei Timer.listOnTimeout (timers.js: 92: 15) –

0
sein sollte

Bitte überprüfen Sie zunächst, ob Sie corr verwenden Paket ect oder nicht Sie verwenden random Paket aber den Code mit random.js verwandt zu sein scheint, wie Sie .integer()

verwenden Wenn nicht, dann tun die npm i random --save, die folgenden Code funktioniert gut Verwendung der generateIntegers() Funktionsaufruf

Quelle Code macht generateIntegers(callback,options,errorCallback)

https://www.npmjs.com/package/random mit dem github Code-Link

https://github.com/rcombs/node-random/blob/master/main.js

const RandomOrgAPI = require("random"); 
var die; 
options = { 
    secure: true, // Make the request secure 
    num: 1,  // Get 1 integer 
    min: 1,  // Minimum of 1 
    max: 5,  // Maximum of 5 
} 
function randomCallback(integers){ 
    die = integers[0][0]; 
    console.log(integers[0][0]) // will print a random number between 1 and 5 
} 
RandomOrgAPI.generateIntegers(randomCallback,options);