«promise» 태그된 질문

약속은 지연 컴퓨팅에 대한 전술이며, 여러 스타일의 동시성에 적합합니다. 로컬 계산을위한 스레드 및 이벤트 루프 동시성, 동기 및 비동기 원격 메시징. 약속은 비동기 작업의 결과를 나타냅니다. 약속 작업의 기본 방법은 약속의 최종 가치 또는 실패 이유에서 새로운 약속으로의 변환을 등록하는 방법을 사용하는 것입니다.


2
TypeError : 정의되지 않은 속성 'then'을 읽을 수 없습니다.
loginService.islogged() 위의 함수는 "실패"와 같은 문자열을 반환합니다. 그러나 실행하려고 할 때 작동하면 오류가 반환됩니다. TypeError: Cannot read property 'then' of undefined 커서는 바로 뒤 connected와 앞을 나타냅니다 .then. 다음은 전체 기능입니다. var connected=loginService.islogged(); alert(connected); connected.then(function(msg){ alert("connected value is "+connected); alert("msg.data value is "+msg.data); if(!msg.data.account_session || loginService.islogged()=="failed") $location.path('/login'); }); 최신 정보 …

2
Javascript ES6 Promises가 해결 후에도 계속 실행되는 이유는 무엇입니까?
약속은 resolve () 또는 reject () 할 수 있다는 것을 이해하지만 약속의 코드가 resolve 또는 reject가 호출 된 후에도 계속 실행된다는 사실을 알고 놀랐습니다. 나는 모든 즉각적인 함수 실행을 중단시키는 exit 또는 return의 비동기 친화적 버전 인 resolve 또는 reject를 고려했습니다. 누군가가 다음 예제에서 해결 호출 후 console.log를 표시하는 이유에 …

5
JavaScript promise와 async await의 차이점은 무엇입니까?
내 응용 프로그램 (모바일 및 웹 모두)에서 이미 (Babel 덕분에) ECMAScript 6 및 ECMAScript 7 기능을 사용 하고 있습니다. 첫 번째 단계는 분명히 ECMAScript 6 레벨이었습니다. 나는 많은 비동기 패턴, 약속 (정말 유망한), 생성기 (* 기호가 왜 있는지 확실하지 않음) 등을 배웠습니다.이 중에서 약속은 제 목적에 꽤 잘 맞았습니다. 그리고 …

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) { …

3
Promise.all (). then () 해결?
노드 4.x 사용. 당신이이있을 때 Promise.all(promises).then()데이터를 해결하고 다음에 전달하는 적절한 방법은 무엇입니까 .then()? 다음과 같이하고 싶습니다. Promise.all(promises).then(function(data){ // Do something with the data here }).then(function(data){ // Do more stuff here }); 하지만 데이터를 2nd로 가져 오는 방법을 잘 모르겠습니다 .then(). resolve(...)처음 에는 사용할 수 없습니다 .then(). 나는 이것을 할 수 …

2
setTimeout에서 약속을 만드는 방법
이것은 실제 문제가 아닙니다. 저는 약속이 어떻게 생성되는지 이해하려고 노력하고 있습니다. setTimeout처럼 아무것도 반환하지 않는 함수에 대한 약속을 만드는 방법을 이해해야합니다. 내가 가지고 있다고 가정합니다. function async(callback){ setTimeout(function(){ callback(); }, 5000); } async(function(){ console.log('async called back'); }); 준비가 완료된 async후 반환 할 수 있는 프라 미스를 어떻게 생성 합니까?setTimeoutcallback() 포장하면 …

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){ …

1
약속을 해결하지 않으면 메모리 누수가 발생합니까?
나는 Promise . 필요한 경우 AJAX 요청을 취소하기 위해 만들었습니다. 하지만 해당 AJAX를 취소 할 필요가 없기 때문에 문제를 해결하지 않았고 AJAX가 성공적으로 완료되었습니다. 단순화 된 스 니펫 : var defer = $q.defer(); $http({url: 'example.com/some/api', timeout: defer.promise}).success(function(data) { // do something }); // Never defer.resolve() because I don't need to …

9
약속-약속을 강제로 취소 할 수 있습니까?
ES6 Promises를 사용하여 모든 네트워크 데이터 검색을 관리하고 강제 취소해야하는 상황이 있습니다. 기본적으로 시나리오는 요청이 백엔드에 위임되는 UI에서 자동 완성 검색을 수행하여 부분 입력을 기반으로 검색을 수행해야합니다. 이 네트워크 요청 (# 1)은 약간의 시간이 걸릴 수 있지만 사용자는 계속 입력하여 결국 다른 백엔드 호출 (# 2)을 트리거합니다. 여기서 # 2는 …

6
Promise catch에서 오류를 다시 던짐
튜토리얼에서 다음 코드를 찾았습니다. promise.then(function(result){ //some code }).catch(function(error) { throw(error); }); 나는 약간 혼란 스럽습니다. catch 호출이 어떤 일을 수행합니까? 그것은 단순히 잡힌 것과 같은 오류를 던지기 때문에 아무런 영향을 미치지 않는 것 같습니다. 나는 이것을 정규적인 try / catch가 어떻게 작동하는지에 기초한다.

9
Promise에서 여러 값을 올바르게 반환하는 방법은 무엇입니까?
최근에 특정 상황에 몇 번 부딪 쳤는데, 제대로 해결하는 방법을 몰랐습니다. 다음 코드를 가정하십시오. somethingAsync() .then( afterSomething ) .then( afterSomethingElse ) function afterSomething( amazingData ) { return processAsync( amazingData ); } function afterSomethingElse( processedData ) { } 나는에 대한 액세스를 갖고 싶어 할 경우 지금은 상황이 발생할 수도 amazingData에서 afterSomethingElse. …
87 javascript  promise  q 

3
약속에서 if-else를 처리하는 방법은 무엇입니까?
어떤 경우에는 then()프라 미스 객체에서 반환 값을 얻을 때 다음과 같이 값의 조건에 따라 두 가지 다른 선행 작업 을 시작해야합니다 . promise().then(function(value){ if(//true) { // do something } else { // do something } }) 아마도 다음과 같이 쓸 수 있다고 생각합니다. promise().then(function(value){ if(//true) { // call a new …


5
많은 약속을 반환하고 다른 작업을 수행하기 전에 모두 기다리는 방법
비동기 적으로 작업을 수행하는 메서드를 호출하는 루프가 있습니다. 이 루프는 메서드를 여러 번 호출 할 수 있습니다. 이 루프 이후에는 모든 비동기 작업이 완료 될 때만 실행해야하는 또 다른 루프가 있습니다. 그래서 이것은 내가 원하는 것을 보여줍니다. for (i = 0; i < 5; i++) { doSomeAsyncStuff(); } for (i …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.