to może wydawać się głupie pytanie, ale jestem nowicjuszem w tym temacie. Pracuję nad obietnicami w node js. I chcę przekazać parametr do funkcji obietnicy. Jednak nie mogłem tego rozgryźć.
someModule.someFunction.then(username, password,function(uid) {
/*stuff */
}
a funkcja jest podobna
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
źródło
źródło
username
ipassword
w wyższym zakresieOdpowiedzi:
Umieść swoją obietnicę w funkcji lub od razu zacznie wykonywać swoją pracę. Dodatkowo możesz przekazać parametry do funkcji:
Następnie użyj go:
ES6:
Posługiwać się:
źródło
someModule
?uid
? Czy to ciąg „Rzeczy zadziałały!”?Inny sposób ( musisz spróbować ):
źródło
then
to wywołanie zwrotne do obsługi wartości zwracanej przez funkcję odrzucania . Zamiastresolve('Success!');
próbowaćreject('Error');
Otrzymamy błąd:Unhandled promise rejection
Tutaj widzimy wynik, ponieważvar extraData = 'ImExtraData';
jest zmienną globalną , a NIE dlatego, że jest przekazywany za pomocąthen
Jeszcze krócej
źródło
Możesz użyć .bind (), aby przekazać parametr ( this ) do funkcji.
źródło
.then()
gdy wywołuję ją w przycisku ` SaveImagesToFirebase = () => {const uid = firebase.auth (). currentUser.uid; // Provider const {images} = this.state; images.map (image => {let file = image.uri; console.log (plik); const path = "Img " + Math.floor (Math.random () * 1500); console.log ("@ IMAGE" , ścieżka); const ref = firebase .storage () .ref (provider/${uid}/ProviderGalary/${path}
); ref.put (plik);}); }; `@gogog