npm

Need private packages and team management tools?Check out npm Orgs. »

phantom-bluebird

0.0.2 • Public • Published

phantom-bluebird

Core phantom modules promisified with bluebird

Usage

npm install phantom-bluebird --save

It is NOT a node module.

This module can be used in phantomjs scripts to use promise api instead of non-standard callback api of phantomjs modules.

webpage module

Same as phantomjs webpage module, but method open is promisified.

require('phantom-bluebird')();
// replaces webpage and child_process with modules from this package.
// don't call this function if you don't want core modules replaced.
 
var webpage = require('webpage');
// or var webpage = require('phantom-bluebird/lib/webpage');
// or var webpage = require('phantom-bluebird').webpage;
 
var page = webpage.create();
 
page.open('http://example.com')
.then(function (status) {
    console.log('Page title:', page.title);
})
.catch(function (err) {
    console.log('Can\'t open page');
})
.finally(function() {
    phantom.exit(); 
});

Only open method of page object is promisified at the moment.

child_process module

Same as phantom child_process module, but methods are promisified.

spawn method supports additional options (see example below).

require('phantom-bluebird')();
var spawn = require('child_process').spawn;
// or var spawn = require('phantom-bluebird/lib/child_process').spawn;
 
spawn('node', ['--harmony', 'app'], {
    log: true,
    // with this option child process stdout and stderr are logged to console
    startedLog: 'started'
    // promise will resolve when child process logs string containing "started"
    // without 'startedLog' option, promise will resolve immediately
})
.bind({})
.then(function (child) {
    console.log('app started');
    this.app = child;
})
.then(function () {
    // ... do something, e.g. open page
})
.finally(function () {
    this.app.kill();
    phantom.exit();
});

TODO: example for execFile method.

Keywords

none

install

npm i phantom-bluebird

Downloadsweekly downloads

6

version

0.0.2

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability