mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-02 18:11:04 +08:00
json.dump appears to add extraneous spaces before newline characters. By specifying the separators option, we can remove these whitespaces, reducing the diff noise. Solution taken from https://stackoverflow.com/questions/16311562/python-json-without-whitespaces DISABLE_THIRD_PARTY_CHECK=Fix whitespace in node_modules Change-Id: I26556e5053f19a9021ad41779319bdfe3f8c2b6c Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2013154 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org>
es6-promisify
Converts callback-based functions to Promise-based functions.
Install
Install with npm
npm install --save es6-promisify
Example
"use strict";
// Declare variables
const promisify = require("es6-promisify");
const fs = require("fs");
// Convert the stat function
const stat = promisify(fs.stat);
// Now usable as a promise!
stat("example.txt").then(function (stats) {
console.log("Got stats", stats);
}).catch(function (err) {
console.error("Yikes!", err);
});
Promisify methods
"use strict";
// Declare variables
const promisify = require("es6-promisify");
const redis = require("redis").createClient(6379, "localhost");
// Create a promise-based version of send_command
const client = promisify(redis.send_command, redis);
// Send commands to redis and get a promise back
client("ping").then(function (pong) {
console.log("Got", pong);
}).catch(function (err) {
console.error("Unexpected error", err);
}).then(function () {
redis.quit();
});
Handle callback multiple arguments
"use strict";
// Declare functions
function test(cb) {
return cb(undefined, 1, 2, 3);
}
// Declare variables
const promisify = require("es6-promisify");
// Create promise-based version of test
const single = promisify(test);
const multi = promisify(test, {multiArgs: true});
// Discards additional arguments
single().then(function (result) {
console.log(result); // 1
});
// Returns all arguments as an array
multi().then(function (result) {
console.log(result); // [1, 2, 3]
});
Tests
Test with nodeunit
$ npm test
Published under the MIT License.