-1
我對CoffeeScript的一些代碼(PhantomJS下運行):類中的CoffeeScript
class Loadtime
constructor: ->
@page = require('webpage').create()
check: (uri) ->
time = Date.now()
@page.open uri, (status) ->
console.log 'foo'
if 'success' is status
time = Date.now() - time
return time
else
return "FAIL to load #{uri}"
loadtime = new Loadtime()
console.log loadtime.check('http://example.com') # undefined
phantom.exit()
類具有構造函數和一個公共方法。
行@page.open uri, (status) -> ...
必須調用回調函數,但它不會調用它(行console.log 'foo'
不執行)。 爲什麼?
好了,謝謝你。 你能告訴我如果我將刪除'phantom.exit()',我該如何等待函數'@ page.open uri'的執行結束? –
@SergeyBlohin:您需要在'check'中添加一個參數,以便您可以將回調傳入,然後修改您的調用代碼以使其異步執行。我編輯了我的答案,以更清楚地顯示可能的樣子。 – icktoofay