2013-05-23 2 views

답변

2

try - catch을 사용하면 Dart와 Js 사이에 교환이 하나만 있기 때문에이를 확인하는 더 효율적인 방법입니다.

import 'package:js/js.dart' as js; 
import 'package:js/js_wrapping.dart' as jsw; 

main() { 
    final myProxy = ...; 
    Map<String, dynamic> myProxyAsMap = jsw.JsObjectToMapAdapter.cast(proxy); 
    Iterable<String> keys = myProxyAsMap.keys; 
} 

을하지만 try 사용하는 것보다 keys.contains("key") 있는지 확인 덜 효율적이다 - catch 방법 :


타 방법과 다트 Map처럼 자바 스크립트 객체를 처리 할 수 ​​있습니다. 또한 집중적으로 사용하는 경우 keyskeys = myProxyAsMap.keys.toList()으로 목록을 복사하는 것이 좋습니다. 사실 myProxyAsMap.keys은 여전히 ​​기본 js 배열에 의해 구워집니다. .toList()은 실제 다트 목록을 만들고 다트 js 교환을 방지합니다.

관련 문제