pertanyaan ini mungkin tampak konyol, tetapi saya seorang pemula dalam topik ini. Saya sedang mengerjakan promise di node js. Dan saya ingin meneruskan parameter ke fungsi janji. Namun saya tidak bisa memahaminya.
someModule.someFunction.then(username, password,function(uid) {
/*stuff */
}
dan fungsinya kira-kira seperti itu
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
sumber
sumber
username
danpassword
dalam lingkup yang lebih tinggiJawaban:
Bungkus Janji Anda di dalam suatu fungsi atau itu akan mulai melakukan tugasnya segera. Selain itu, Anda dapat mengirimkan parameter ke fungsi:
Kemudian, gunakan:
ES6:
Menggunakan:
sumber
someModule
?uid
? Apakah itu string "Barang berhasil!"?Cara lain ( Harus Dicoba ):
sumber
then
adalah panggilan balik untuk menangani nilai kembali dari fungsi penolakan . Alih-alihresolve('Success!');
mencobareject('Error');
Kami akan mendapatkan kesalahan:Unhandled promise rejection
Di sini kami melihat output karenavar extraData = 'ImExtraData';
adalah variabel global dan BUKAN karena meneruskannya menggunakanthen
Anda bisa menggunakan .bind () untuk meneruskan param ( ini ) ke fungsi.
sumber
.then()
ketika saya memanggilnya di Tombol ` SaveImagesToFirebase = () => {const uid = firebase.auth (). currentUser.uid; // Penyedia 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" , jalur); const ref = firebase .storage () .ref (provider/${uid}/ProviderGalary/${path}
); ref.put (file);}); }; `@gogogBahkan lebih pendek
sumber