2017-10-30 19 views
2

나는 Jasmin으로 테스트 케이스를 작성하고 있습니다. 변수를 찾을 수 없습니다 : Phantomjs의 약속

내가 울부 짖는 메서드를 호출

initialize({"Data": "primary"});

어느 :

initialize: function(config) { 

    console.info("initialize Version 2 initialized.."); 

    return new Promise(function(resolve, reject) { 

    console.info("promise"); 

    resolve(true); 
    }); 
} 

나는

ReferenceError: Can't find variable: Promise in http://localhost:8080/absolute/home/krushanu/project/krushanu/ekstep/theLib/js-libs/telemetry/telemetry.js?a043c6a23b1af06737d8e1ae1e1c2e152d4faa83

설치된 팬텀 JS 버전,333,132입니다 오류가 아래에 무엇입니까 10

+0

으로 마이그레이션하는 것이 좋습니다. promise polyfill을 바인딩하고 https://www.npmjs.com/package/phantomjs-polyfill –

+1

을 사용하십시오. 크롬 헤드리스? – evolutionxbox

답변

4

Promise 지원은 PhantomJS에 기본적으로 존재하지 않습니다. See the issue in github here. Promise 지원을 활성화하기 위해 es6-promise 또는 promise-polyfill을 사용할 수 있습니다. 가능하다면 Promise가 PhantomJS에 포함되어 있지 않다고 말하는 Puppeteer

+1

감사합니다. 퍼핏 티어에 대해 들어 보지 못했습니다. 이로써 PhantomJS의 '약속'폴리필을 망칠 필요없이이 문제를 해결할 수있었습니다. 어쨌든 ChromeCanary를 사용하고 있기 때문에 더 나은 옵션입니다. –