isso pode parecer uma pergunta boba, mas eu sou um novato neste tópico. Estou trabalhando em promessas no node js. E eu quero passar o parâmetro para uma função de promessa. No entanto, eu não conseguia descobrir.
someModule.someFunction.then(username, password,function(uid) {
/*stuff */
}
e a função é algo como
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
fonte
fonte
username
epassword
em um escopo mais amploRespostas:
Envolva sua promessa dentro de uma função ou ela começará a fazer seu trabalho imediatamente. Além disso, você pode passar parâmetros para a função:
Então, use-o:
ES6:
Usar:
fonte
someModule
?uid
? É a string "Coisas funcionaram!"?Outra maneira ( deve tentar ):
fonte
then
é um retorno de chamada para manipular o valor de retorno da função de rejeição . Em vez deresolve('Success!');
tentarreject('Error');
, obteremos o erro:Unhandled promise rejection
Aqui vemos a saída porquevar extraData = 'ImExtraData';
é uma variável global e NÃO por ser passada usandothen
Ainda mais curto
fonte
Você pode usar .bind () para passar o parâmetro ( this ) para a função.
fonte
.then()
quando eu invoco em um botão ` SaveImagesToFirebase = () => {const uid = firebase.auth (). currentUser.uid; // Provedor const {images} = this.state; images.map (image => {let file = image.uri; console.log (file); const path = "Img " + Math.floor (Math.random () * 1500); console.log ("@ IMAGE" , caminho); const ref = firebase .storage () .ref (provider/${uid}/ProviderGalary/${path}
); ref.put (arquivo);}); }; `@gogog