Dies mag eine dumme Frage sein, aber ich bin ein Neuling in diesem Thema. Ich arbeite an Versprechungen auf Knoten js. Und ich möchte Parameter an eine Versprechen-Funktion übergeben. Ich konnte es jedoch nicht herausfinden.
someModule.someFunction.then(username, password,function(uid) {
/*stuff */
}
und die Funktion ist so etwas wie
var someFunction = new Promise(username, password, function(resolve, reject) {
/*stuff using username, password*/
if ( /* everything turned out fine */ ) {
resolve("Stuff worked!");
} else {
reject(Error("It broke"));
}
});
javascript
node.js
promise
Kundante
quelle
quelle
username
undpassword
in einem höheren UmfangAntworten:
Wickeln Sie Ihr Versprechen in eine Funktion ein, sonst wird es sofort seine Arbeit erledigen. Außerdem können Sie Parameter an die Funktion übergeben:
Dann benutze es:
ES6:
Verwenden:
quelle
someModule
?uid
? Ist es die Zeichenfolge "Sachen haben funktioniert!"?Ein anderer Weg ( muss versuchen ):
quelle
then
wird, ein Rückruf zur Behandlung des Rückgabewerts der Ablehnungsfunktion ist. Anstatt zuresolve('Success!');
versuchen, werdenreject('Error');
wir Fehler bekommen:Unhandled promise rejection
Hier sehen wir die Ausgabe, weilvar extraData = 'ImExtraData';
es sich um eine globale Variable handelt und NICHT, weil sie mitthen
Mit .bind () können Sie den Parameter ( this ) an die Funktion übergeben.
quelle
.then()
wenn ich es in einer Schaltfläche aufrufe. ` SaveImagesToFirebase = () => {const uid = firebase.auth (). currentUser.uid; // Provider const {images} = this.state; images.map (image => {let file = image.uri; console.log (Datei); const path = " Img" + Math.floor (Math.random () * 1500); console.log ("@ IMAGE") , path); const ref = firebase .storage () .ref (provider/${uid}/ProviderGalary/${path}
); ref.put (file);}); }; `@gogog