«bluebird» 태그된 질문

Bluebird는 혁신적인 기능과 성능에 중점을 둔 클라이언트 및 서버 JavaScript를위한 완전한 기능을 갖춘 Promise 라이브러리입니다.


17
.then () 체인에서 이전 약속 결과에 어떻게 액세스합니까?
코드를 약속으로 재구성하고 여러 개의 콜백 으로 구성된 멋진 긴 플랫 약속 체인을 만들었습니다 .then(). 결국 복합 값을 반환하고 여러 중간 약속 결과 에 액세스해야 합니다 . 그러나 시퀀스 중간의 해상도 값은 마지막 콜백 범위에 있지 않습니다. 어떻게 액세스합니까? function getExample() { return promiseA(…).then(function(resultA) { // Some processing return promiseB(…); …

2
명시 적 약속 건설 반 패턴은 무엇이며 어떻게 방지합니까?
나는 다음과 같은 것을하는 코드를 작성하고있었습니다. function getStuffDone(param) { | function getStuffDone(param) { var d = Q.defer(); /* or $q.defer */ | return new Promise(function(resolve, reject) { // or = new $.Deferred() etc. | // using a promise constructor myPromiseFn(param+1) | myPromiseFn(param+1) .then(function(val) { /* or .done */ | .then(function(val) …

10
단지 콜백을 약속하지 않습니까?
몇 년 동안 JavaScript를 개발해 왔으며 약속에 대한 소란을 전혀 이해하지 못합니다. 내가하는 일은 변화하는 것 같습니다. api(function(result){ api2(function(result2){ api3(function(result3){ // do work }); }); }); 어쨌든 비동기 와 같은 라이브러리를 사용할 수 있습니다 . api().then(function(result){ api2().then(function(result2){ api3().then(function(result3){ // do work }); }); }); 코드가 많고 읽기 쉽지 않습니다. 나는 …


1
ES6 약속이 있으므로 Q 또는 BlueBird와 같은 약속 라이브러리를 사용해야 할 이유가 있습니까? [닫은]
휴무 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 3 년 전 . 이 질문을 개선하십시오 Node.js가 약속에 대한 기본 지원을 추가 한 후에도 Q 또는 BlueBird와 같은 라이브러리를 사용해야하는 …

7
.then (성공, 실패)은 언제 약속의 반 패턴으로 간주됩니까?
나는 한 번 봐했다 블루 버드 약속 자주 묻는 질문 은 그 언급하는, .then(success, fail)안티 패턴입니다 . 시도와 캐치에 대한 설명을 이해하지 못합니다. 다음과 관련하여 무엇이 문제입니까? some_promise_call() .then(function(res) { logger.log(res) }, function(err) { logger.log(err) }) 예제는 다음을 올바른 방법으로 제안하는 것 같습니다. some_promise_call() .then(function(res) { logger.log(res) }) .catch(function(err) { …

1
Bluebird의 util.toFastProperties 함수는 어떻게 객체의 속성을 "빠르게"만드는가?
Bluebird의 util.js파일 에는 다음과 같은 기능이 있습니다. function toFastProperties(obj) { /*jshint -W027*/ function f() {} f.prototype = obj; ASSERT("%HasFastProperties", true, obj); return f; eval(obj); } 어떤 이유로 반환 함수 뒤에 문이 있는데 왜 거기에 있는지 잘 모르겠습니다. 또한 저자가 이것에 대해 JSHint 경고를 침묵 시켰기 때문에 의도적 인 것으로 보입니다. …

7
프라 미스 체인에서 여러 캐치 처리
나는 아직 약속에 상당히 익숙하지 않고 현재 블루 버드를 사용하고 있지만 어떻게 최선을 다해야할지 잘 모르겠습니다. 예를 들어 다음과 같은 익스프레스 앱 내에 약속 체인이 있습니다. repository.Query(getAccountByIdQuery) .catch(function(error){ res.status(404).send({ error: "No account found with this Id" }); }) .then(convertDocumentToModel) .then(verifyOldPassword) .catch(function(error) { res.status(406).send({ OldPassword: error }); }) .then(changePassword) .then(function(){ res.status(200).send(); …

13
Promise에 대한 루프를 작성하는 올바른 방법.
다음 promise 호출 과 연결된 logger.log (res) 가 반복을 통해 동 기적으로 실행 되도록 루프를 올바르게 구성하는 방법은 무엇입니까? (블루 버드) db.getUser(email).then(function(res) { logger.log(res); }); // this is a promise 나는 다음과 같은 방법을 시도했다 ( http://blog.victorquinn.com/javascript-promise-while-loop의 방법 ) var Promise = require('bluebird'); var promiseWhile = function(condition, action) { var …

2
그 전후에 어획물 배치
.catch중첩 약속에 BEFORE와 AFTER를 넣는 것의 차이점을 이해하는 데 어려움이 있습니다. 대안 1 : test1Async(10).then((res) => { return test2Async(22) .then((res) => { return test3Async(100); }).catch((err) => { throw "ERROR AFTER THEN"; }); }).then((res) => { console.log(res); }).catch((err) => { console.log(err); }); 대안 2 : test1Async(10).then((res) => { return test2Async(22) .catch((err) …

2
Promise.resolve 대 새로운 Promise (resolve)
블루 버드를 사용하고 있으며 동기 함수를 Promise로 해결하는 두 가지 방법이 있지만 두 가지 방법의 차이점을 이해하지 못합니다. 스택 트레이스가 약간 다른 것처럼 보이므로, 그렇지 alias않습니까? 그렇다면 선호하는 방법은 무엇입니까? 웨이 A function someFunction(someObject) { return new Promise(function(resolve) { someObject.resolved = true; resolve(someObject); }); } 웨이 B function someFunction(someObject) { …

8
Node.js에서 콜백을 프라 미스로 대체
데이터베이스에 연결하고 데이터를 수신하는 여러 기능이있는 간단한 노드 모듈이 있습니다 (예 :이 기능). dbConnection.js : import mysql from 'mysql'; const connection = mysql.createConnection({ host: 'localhost', user: 'user', password: 'password', database: 'db' }); export default { getUsers(callback) { connection.connect(() => { connection.query('SELECT * FROM Users', (err, result) => { if (!err){ …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.