A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Atomics/waitAsync below:

Atomics.waitAsync() - JavaScript | MDN

Atomics.waitAsync()

Limited availability

Atomics.waitAsync() 정적 메서드는 공유 메모리 위치에서 비동기적으로 대기하고 Promise를 반환합니다.

Atomics.wait()와는 다르게, waitAsync는 논 블록킹이며 메인 스레드에서 사용할 수 있습니다.

참고 : 이 작업은 오직 공유된 Int32Array 혹은 BigInt64Array에서만 동작합니다.

구문
Atomics.waitAsync(typedArray, index, value)
Atomics.waitAsync(typedArray, index, value, timeout)
매개변수
typedArray

공유된 Int32Array 혹은 BigInt64Array.

index

typedArray에서의 대기하고 있는 인덱스.

value

테스트할 기대값.

timeout Optional

대기 시간(밀리초). 시간이 명시되지 않으면 Infinity입니다.

반환 값

다음 속성을 가진 Object.

예제 waitAsync() 사용하기

공유된 Int32Array에서

const sab = new SharedArrayBuffer(1024);
const int32 = new Int32Array(sab);

읽기 스레드가 0이 될 것으로 예상되는 위치 0에서 대기 중입니다. result.value은 프로미스입니다.

const result = Atomics.waitAsync(int32, 0, 0, 1000);
// { async: true, value: Promise {<pending>} }

읽기 스레드 또는 다른 스레드에서 메모리 위치 0이 호출되고 이행 결과 "ok" 문자열을 확인할 수 있습니다.

Atomics.notify(int32, 0);
// { async: true, value: Promise {<fulfilled>: 'ok'} }

"ok"으로 확인되지 않는다면 2가지 원인이 있습니다. 첫 번째 원인은 공유 메모리 위치의 값이 예상과 다른 경우인데 이 경우 value는 프로미스 대신 "not-equal"이 될 됩니다. 두 번째 원인은 시간이 만료(타임아웃)될 경우로 프로미스 결과는 문자열 "time-out"입니다.

명세서 브라우저 호환성 같이 보기

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4