это может показаться глупым вопросом, но я новичок в этой теме. Я работаю над обещаниями на node js. И я хочу передать параметр функции обещания. Однако я не мог этого понять.
someModule.someFunction.then(username, password,function(uid) {
/*stuff */
}
и функция что-то вроде
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
кунданте
источник
источник
username
иpassword
в более высоком масштабеОтветы:
Оберните свой Promise внутри функции, иначе он сразу же начнет выполнять свою работу. Кроме того, вы можете передавать функции параметры:
Затем используйте его:
ES6:
Использование:
источник
someModule
?uid
? Это строка «Все сработало!»?Другой способ ( обязательно попробуйте ):
источник
then
- это обратный вызов для обработки возвращаемого значения функции отклонения . Вместоresolve('Success!');
попыткиreject('Error');
Мы получим ошибку:Unhandled promise rejection
Здесь мы видим результат, потому чтоvar extraData = 'ImExtraData';
это глобальная переменная, а НЕ из-за ее передачи с помощьюthen
Даже короче
источник
Вы можете использовать .bind () для передачи параметра ( this ) функции.
источник
.then()
когда я вызываю ее в кнопке ` SaveImagesToFirebase = () => {const uid = firebase.auth (). currentUser.uid; // Провайдер const {images} = this.state; images.map (image => {let file = image.uri; console.log (файл); const path = "Img " + Math.floor (Math.random () * 1500); console.log ("@ IMAGE" , путь); const ref = firebase .storage () .ref (provider/${uid}/ProviderGalary/${path}
); ref.put (файл);}); }; `@gogog