2013年10月31日

JavaScriptでsleep

Firefox のスクラッチパッド (chrome有効) で実行してみた
  1. Components.utils.import('resource://gre/modules/ctypes.jsm');  
  2.   
  3. var lib = ctypes.open('kernel32.dll');  
  4. var sleep = lib.declare('Sleep', ctypes.winapi_abi, ctypes.void_t, ctypes.uint32_t);  
  5.   
  6. var a = Date.now();  
  7. sleep(5000);  
  8. var b = Date.now();  
  9.   
  10. lib.close();  
  11.   
  12. [a, b];  
  13.   
  14. /* 
  15. a = 1383184940621 
  16. b = 1383184945621 
  17. */  
ぴったり 5秒でした

これは Windows 環境でできることだけど、Linux だったら
  1. Components.utils.import('resource://gre/modules/ctypes.jsm');  
  2.   
  3. var libc = ctypes.open('libc.so.6');  
  4. var sleep = libc.declare('sleep', ctypes.default_abi, ctypes.int, ctypes.int);  
  5.   
  6. sleep(1000);  
  7. // ...  
こんな感じで同じことできそう (確認してないから違うかも)

0 件のコメント:

コメントを投稿